中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

编译tensorflow 2.4.1时,很多报错信息在资源bazel构建时不能自动获取

问题现象描述

构建过程中会因为网络问题出现很多在资源bazel构建时不能自动获取的报错信息,此时需要将所需资源下载下来,并将构建文件中的url修改为本地路径。

关键过程、根本原因分析

网络问题。

结论、解决方案及效果

  1. 在构建目录和“/root/.cache/bazel/_bazel_root”目录下执行以下命令。
    grep -rn "c83ed7ea9eb5fb3b93d1ad52b59750f1958b8bde.tar.gz"

    可以找到如下内容:

  2. 找到 “url = ……”字样内容,打开相应文件至对应行(此处为239行)。
    vim b9ee4e17aa65b8928460ddaabd4265de/external/com_github_grpc_grpc/bazel/grpc_deps.bzl

  3. 执行以下命令创建本地源路径。
    mkdir -p /path/to/tenflor_requires && cd /path/to/tenflor_requires
  4. 执行以下命令根据提示的url将所需依赖下载下来。
    wget https://github.com/envoyproxy/data-plane-api/archive/c83ed7ea9eb5fb3b93d1ad52b59750f1958b8bde.tar.gz	--no-check-certificate
  5. 执行以下命令将上述的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",
  6. 继续执行构建命令,后续构建会多次出现类似问题,均按以上方法修改即可。

    存在包名使用变量代替的情况,如果完成的url不能匹配到,则可以去掉包名用grep命令尝试匹配。

    出现如下界面时,所有依赖均已解决,正在编译。