tensorflow的源码编译依赖于 bazel
这里进行 bazel 的源码编译
1、安装依赖
sudo yum install -y java-11-openjdk
sudo yum install -y java-11-openjdk-devel
sudo yum install -y protobuf-compiler zip unzip
2、知悉要安装的 bazel 的版本
务必安装受支持的 Bazel 版本,可以是 tensorflow/configure.py
中指定的介于 _TF_MIN_BAZEL_VERSION
和 _TF_MAX_BAZEL_VERSION
之间的任意版本。
3、下载源码包
https://github.com/bazelbuild/bazel
切记:必须下载发行版,否则会报各种依赖及变量问题,如: ERROR: Must specify PROTOC if not bootstrapping from the distribution artifact
4、开始编译
cd ~/bazel-src
# 运行编译脚本
EXTRA_BAZEL_ARGS='--host_javabase=@local_jdk//:jdk' ./compile.sh
5、输出
编译后的输出被放入 output/bazel
中。这是一个独立的 Bazel 二进制文件,没有嵌入式 JDK。可以将其复制到任何位置或就地使用。为方便起见,可以将此二进制文件复制到 PATH 上的目录中(例如 Linux 上的 /usr/local/bin
)。
如需以可重现的方式构建 bazel 二进制文件,还要在“运行编译脚本”步骤中设置 SOURCE_DATE_EPOCH
。