安装Bazel

ScaNN采用Bazel编译框架,要求Bazel版本5.4.0以上,通过Yum方式安装的Bazel版本较低,因此需要通过源码编译安装Bazel。

  1. 使用PuTTY工具,以root用户登录服务器。
  2. 进入Bazel源码编译目录。

    1
    cd /path/to/bazel/
    

  3. 下载Bazel 5.4.0源码至服务器Bazel源码编译路径“/path/to/bazel”。

    下载地址:https://github.com/bazelbuild/bazel/releases/download/5.4.0/bazel-5.4.0-dist.zip

    可以直接使用wget命令下载。

    1
    wget https://github.com/bazelbuild/bazel/releases/download/5.4.0/bazel-5.4.0-dist.zip --no-check-certificate
    

  4. 执行以下命令安装Bazel依赖。

    1
    yum install java-11-openjdk java-11-openjdk-devel gcc git g++
    

    检查OpenJDK 11是否安装成功。

    1
    java -version
    

    回显显示上述信息,表示安装成功。

    若OpenJDK版本低于此版本,编译Bazel可能会发生错误,导致无法正常构建Bazel。

  5. 可选: 若执行上述命令发现版本不匹配,请配置环境变量。

    1. 查找安装目录。
      1
      find / -name java
      
    2. 找到安装目录后,配置环境变量,假设安装目录为“/usr/lib/jvm/java-11-openjdk-11.0.21.9-1.oe2203sp3.aarch64”。
      • 方法一(永久生效):
        1
        2
        3
        echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.21.9-1.oe2203sp3.aarch64" >> /etc/profile
        echo "export PATH=\${JAVA_HOME}/bin:\${PATH}" >> /etc/profile
        source /etc/profile
        
      • 方法二(当前会话终端临时生效):
        1
        2
        export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.21.9-1.oe2203sp3.aarch64
        export PATH=/usr/lib/jvm/java-11-openjdk-11.0.21.9-1.oe2203sp3.aarch64/bin:$PATH
        
    3. 检查OpenJDK版本信息。
      1
      java -version
      

  6. 执行以下命令解压并编译Bazel。

    1
    2
    3
    unzip bazel-5.4.0-dist.zip -d bazel-5.4.0
    cd bazel-5.4.0
    env EXTRA_BAZEL_ARGS="--tool_java_runtime_version=local_jdk" bash ./compile.sh
    

  7. 构建成功后,生成的可执行文件bazel在bazel-5.4.0/output路径中,将该路径配置在环境变量PATH中,以便后续编译ScaNN使用。

    1
    export PATH=/path/to/bazel/bazel-5.4.0/output:$PATH
    

  8. 执行以下命令验证。

    1
    bazel --version
    

    回显信息显示,版本信息为5.4.0,证明安装成功。