安装Bazel

TensorFlow编译时需要使用Bazel工具。TensorFlow 1.15.5依赖的Bazel版本为0.26.1,请下载正确的Bazel版本。

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

    1
    cd /path/to/bazel
    

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

    1
    yum install java-11-openjdk java-11-openjdk-devel
    

    检查OpenJDK 11是否安装成功。

    1
    java -version
    

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

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

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

    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
      

  5. 下载Bazel 0.26.1源码至服务器。

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

  6. 解压Bazel并进入解压目录。

    1
    2
    unzip bazel-0.26.1-dist.zip -d bazel-0.26.1
    cd bazel-0.26.1
    

  7. 安装解压并编译Bazel。

    1
    env EXTRA_BAZEL_ARGS="--host_javabase=@local_jdk//:jdk" ./compile.sh
    

    若编译过程中提示ambiguating new declaration of 'long int gettid(),请参见编译Bazel 0.26.1失败的解决办法处理。

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

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

  9. 验证安装。

    1
    bazel --help
    

    回显显示版本信息,表示安装成功。