ScaNN采用Bazel编译框架,要求Bazel版本5.4.0以上,通过Yum方式安装的Bazel版本较低,因此需要通过源码编译安装Bazel。
- 使用PuTTY工具,以root用户登录服务器。
- 进入Bazel源码编译目录。
- 下载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 https://github.com/bazelbuild/bazel/releases/download/5.4.0/bazel-5.4.0-dist.zip --no-check-certificate
|
- 执行以下命令安装Bazel依赖。
| yum install java-11-openjdk java-11-openjdk-devel gcc git g++
|
检查OpenJDK 11是否安装成功。

回显显示上述信息,表示安装成功。
若OpenJDK版本低于此版本,编译Bazel可能会发生错误,导致无法正常构建Bazel。
- 可选: 若执行上述命令发现版本不匹配,请配置环境变量。
- 查找安装目录。
- 找到安装目录后,配置环境变量,假设安装目录为“/usr/lib/jvm/java-11-openjdk-11.0.21.9-1.oe2203sp3.aarch64”。
- 方法一(永久生效):
| 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
|
- 方法二(当前会话终端临时生效):
| 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
|
- 检查OpenJDK版本信息。
- 执行以下命令解压并编译Bazel。
| 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
|
- 构建成功后,生成的可执行文件bazel在bazel-5.4.0/output路径中,将该路径配置在环境变量PATH中,以便后续编译ScaNN使用。
| export PATH=/path/to/bazel/bazel-5.4.0/output:$PATH
|
- 执行以下命令验证。

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