编译tensorflow 2.4.1时,很多报错信息在资源bazel构建时不能自动获取
问题现象描述
构建过程中会因为网络问题出现很多在资源bazel构建时不能自动获取的报错信息,此时需要将所需资源下载下来,并将构建文件中的url修改为本地路径。
关键过程、根本原因分析
网络问题。
结论、解决方案及效果
- 在构建目录和“/root/.cache/bazel/_bazel_root”目录下执行以下命令。
grep -rn "c83ed7ea9eb5fb3b93d1ad52b59750f1958b8bde.tar.gz"
可以找到如下内容:
- 找到 “url = ……”字样内容,打开相应文件至对应行(此处为239行)。
vim b9ee4e17aa65b8928460ddaabd4265de/external/com_github_grpc_grpc/bazel/grpc_deps.bzl
- 执行以下命令创建本地源路径。
mkdir -p /path/to/tenflor_requires && cd /path/to/tenflor_requires
- 执行以下命令根据提示的url将所需依赖下载下来。
wget https://github.com/envoyproxy/data-plane-api/archive/c83ed7ea9eb5fb3b93d1ad52b59750f1958b8bde.tar.gz --no-check-certificate
- 执行以下命令将上述的url修改如下。
name = "envoy_api", sha256 = "9e8cf42abce32c9b0e9e271b0cb62803084cbe5e5b49f5d5c2aef0766f9d69ca", strip_prefix = "data-plane-api-c83ed7ea9eb5fb3b93d1ad52b59750f1958b8bde", #url = "https://github.com/envoyproxy/data-plane-api/archive/c83ed7ea9eb5fb3b93d1ad52b59750f1958b8bde.tar.gz", url="file:///path/to/tenflor_requires/c83ed7ea9eb5fb3b93d1ad52b59750f1958b8bde.tar.gz",
- 继续执行构建命令,后续构建会多次出现类似问题,均按以上方法修改即可。
存在包名使用变量代替的情况,如果完成的url不能匹配到,则可以去掉包名用grep命令尝试匹配。
出现如下界面时,所有依赖均已解决,正在编译。
父主题: 故障排除