編譯tensorflow-serving錯誤no such package '@icu//'


完整錯誤信息

ERROR: /root/.cache/bazel/_bazel_root/e53bbb0b0da4e26d24b415310219b953/external/org_tensorflow/tensorflow/core/kernels/BUILD:6589:1: no such package '@icu//': java.io.IOException: Error downloading [https://mirror.bazel.build/github.com/unicode-org/icu/archive/release-62-1.tar.gz, https://github.com/unicode-org/icu/archive/release-62-1.tar.gz] to /root/.cache/bazel/_bazel_root/e53bbb0b0da4e26d24b415310219b953/external/icu/release-62-1.tar.gz: All mirrors are down: [Connection reset] and referenced by '@org_tensorflow//tensorflow/core/kernels:unicode_script_op'
ERROR: Analysis of target '//tensorflow_serving/model_servers:tensorflow_model_server' failed; build aborted: Analysis failed
INFO: Elapsed time: 17.413s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (37 packages loaded)

 

缺icu,根據錯誤信息知是tensorflow-serving編譯時調用tensorflow組件連不上下載地址導致的

網上能找到的錯誤都是編譯tensorflow時產生錯誤,所以修改目錄/root/.cache/bazel/_bazel_root/e53bbb0b0da4e26d24b415310219b953/external/org_tensorflow/tensorflow下的build文件

下載icu的文件路徑:

/.cache/bazel/_bazel_root/e53bbb0b0da4e26d24b415310219b953/external/org_tensorflow/third_party/icu/workspace.bzl

用vim進行編輯

"""Loads a lightweight subset of the ICU library for Unicode processing."""

load("//third_party:repo.bzl", "third_party_http_archive")

def repo():
    third_party_http_archive(
        name = "icu",
        strip_prefix = "icu-release-62-1",
        sha256 = "86b85fbf1b251d7a658de86ce5a0c8f34151027cc60b01e1b76f167379acf181",
        urls = [
"https://mirror.bazel.build/github.com/unicode-org/icu/archive/release-62-1.tar.gz",
            "http://10.32.97.118/share/icu-release-62-1.tar.gz",
        ],
        build_file = "//third_party/icu:BUILD.bazel",
    )

將release-62-1.tar.gz放到自己搭建的http服務器上,然后將地址寫到這個文件中

 

 

再編譯仍然出錯

ERROR: /root/.cache/bazel/_bazel_root/e53bbb0b0da4e26d24b415310219b953/external/org_tensorflow/tensorflow/core/kernels/BUILD:6589:1: no such package '@icu//': java.io.IOException: Error downloading [https://mirror.bazel.build/github.com/unicode-org/icu/archive/release-62-1.tar.gz, http://10.32.97.118/share/icu-release-62-1.tar.gz] to /root/.cache/bazel/_bazel_root/e53bbb0b0da4e26d24b415310219b953/external/icu/release-62-1.tar.gz: Checksum was 86b85fbf1b251d7a658de86ce5a0c8f34151027cc60b01e1b76f167379acf181 but wanted e15ffd84606323cbad5515bf9ecdf8061cc3bf80fb883b9e6aa162e485aa9761 and referenced by '@org_tensorflow//tensorflow/core/kernels:unicode_script_op'

錯誤提示checksum和需要的不一致

文件中寫的是86b85fbf1b251d7a658de86ce5a0c8f34151027cc60b01e1b76f167379acf181但是需要的是e15ffd84606323cbad5515bf9ecdf8061cc3bf80fb883b9e6aa162e485aa9761

將需要的checksum替換掉workspace.bzl中的sha256即可

保存修改后編譯通過

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM