Manually Downloading Dependency Packages for TF Serving Build

Dependency packages need to be downloaded from the network during TF Serving build. If the download fails due to network problems, the error message shown in Figure 1 is displayed.

Figure 1 TF Serving compilation error

The following describes the solution.

  1. Download the required dependency packages via the following links and upload them to any directory on the server (for example, ${HOME}):

    tensorflow, rules_closure, bazel-skylib, rapidjson, abseil-cpp, libevent, and llvm

    The downloaded dependency packages can be used only after being renamed, as shown in the following table.

    Table 1 Renaming dependency packages

    Dependency

    Before

    After

    tensorflow

    tensorflow-590d6eef7e91a6a7392c8ffffb7b58f2e0c8bc6b.tar.gz

    590d6eef7e91a6a7392c8ffffb7b58f2e0c8bc6b.tar.gz

    rules_closure

    rules_closure-316e6133888bfc39fb860a4f1a31cfcbae485aef.tar.gz

    316e6133888bfc39fb860a4f1a31cfcbae485aef.tar.gz

    bazel-skylib

    bazel-skylib-0.7.0.tar.gz

    0.7.0.tar.gz

    rapidjson

    rapidjson-1.1.0.zip

    v1.1.0.zip

    abseil-cpp

    abseil-cpp-36d37ab992038f52276ca66b9da80c1cf0f57dc2.tar.gz

    36d37ab992038f52276ca66b9da80c1cf0f57dc2.tar.gz

    libevent

    libevent-release-2.1.8-stable.zip

    release-2.1.8-stable.zip

    llvm

    llvm-7a7e03f906aada0cf4b749b51213fe5784eeff84.tar.gz

    7a7e03f906aada0cf4b749b51213fe5784eeff84.tar.gz

  2. Add the --distdir parameter when compiling TF Serving as follows:
    bazel --output_user_root=/opt/tf_serving build -c opt --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" --distdir=${HOME}/tensorflow_serving/model_servers:tensorflow_model_server