Bazel Build:@nccl_archive //:nccl:无法解析标签' ws2_32.lib'

时间:2017-11-21 11:53:47

标签: visual-studio-2015 bazel tensorflow-serving

我从源代码安装tensorflow服务。

我安装的必需库,用于从源代码运行tensorflow-serving

  • bazel-0.7.0-windows-x86_64.exe已从github-bazel下载并存储为C:\Bazel\bazel.exeC:\Bazel\bazel.exe位于环境变量PATH

  • 中 {li>

    grpcio==1.7.0 pip install grpcio

  • msys2 - msys2-x86_64-20161025.exe

  • 来自python 3.5.2

  • python - Anaconda 4.2.0 (64-bit)

  • BAZEL_VC = C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC

  • BAZEL_VS = C:\Program Files (x86)\Microsoft Visual Studio 14.0

最初我为此安装了Visual Studio Community 2017Windows SDK,然后我得到了could not resolve label 'ws2_32.lib'.

我想,也许ws2_32.lib只附带2015版。所以我继续安装Visual Studio 2015。设置BAZEL_VCBAZEL_VS后,我就无需卸载Visual Studio Community 2017。安装Windows SDK后,我发现ws2_32.lib内存在C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib。实际上文件名是WS2_32.lib。我假设他们是一样的。但我仍然得到同样的错误。我不知道自己错过了什么。

以下是bazel build -c opt tensorflow_serving/...

的输出
DEBUG: C:/users/abhisek.panigrahi/appdata/local/temp/_bazel_abhisek.panigrahi/9tglboge/external/org_tensorflow/third_party/py/python_configure.bzl:15:1: hi dude %s PYTHON_BIN_PATH
____Loading package: tensorflow_serving/servables/tensorflow/testdata
DEBUG: C:/users/abhisek.panigrahi/appdata/local/temp/_bazel_abhisek.panigrahi/9tglboge/external/bazel_tools/tools/build_defs/pkg/pkg.bzl:197:9: @//tensorflow_serving/model_servers:tensorflow_model_server_tar: you provided a non dictionary to the pkg_tar `files` attribute. This attribute was renamed to `srcs`. Consider renaming it in your BUILD file.
____Loading package: @bazel_tools//tools/cpp
____Loading package: @local_config_xcode//
____Loading package: @local_config_cc//
____Loading package: @local_jdk//
____Loading complete.  Analyzing...
____Loading package: @protobuf_archive//
____Loading package: @bazel_tools//platforms
____Loading package: @org_tensorflow//tensorflow
____Loading package: @bazel_tools//src
____Loading package: @boringssl//
____Loading package: @org_tensorflow//tensorflow/core/platform/hadoop
____Loading package: @bazel_tools//tools/coverage
____Loading package: @bazel_tools//tools/genrule
____Loading package: @six_archive//
____Loading package: @local_config_cuda//cuda
____Loading package: @org_tensorflow//tensorflow/c/eager
____Loading package: @swig//
____Loading package: @org_tensorflow//third_party/py/numpy
____Loading package: @local_config_python//
____Loading package: @org_tensorflow//tensorflow/cc
____Loading package: @org_tensorflow//tensorflow/core/platform/default/build_config
____Loading package: @org_tensorflow//tensorflow/core/grappler/utils
____Loading package: @local_config_sycl//sycl
____Loading package: @com_googlesource_code_re2//
____Loading package: @eigen_archive//
____Loading package: @org_tensorflow//tensorflow/core/lib/db
____Loading package: @lmdb//
WARNING: C:/users/abhisek.panigrahi/appdata/local/temp/_bazel_abhisek.panigrahi/9tglboge/external/org_tensorflow/tensorflow/core/BUILD:1799:1: in includes attribute of cc_library rule @org_tensorflow//tensorflow/core:framework_headers_lib: '../../../../external/nsync/public' resolves to 'external/nsync/public' not below the relative path of its package 'external/org_tensorflow/tensorflow/core'. This will be an error in the future. Since this rule was created by the macro 'cc_header_only_library', the error might have been caused by the macro implementation in C:/users/abhisek.panigrahi/appdata/local/temp/_bazel_abhisek.panigrahi/9tglboge/external/org_tensorflow/tensorflow/tensorflow.bzl:1104:30.
____Loading package: @org_tensorflow//tensorflow/compiler/xla
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:515:1: in cc_library rule //tensorflow_serving/servables/tensorflow:classifier: target '//tensorflow_serving/servables/tensorflow:classifier' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:session_bundle_lite': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:600:1: in cc_library rule //tensorflow_serving/servables/tensorflow:regressor: target '//tensorflow_serving/servables/tensorflow:regressor' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:session_bundle_lite': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:515:1: in cc_library rule //tensorflow_serving/servables/tensorflow:classifier: target '//tensorflow_serving/servables/tensorflow:classifier' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:signature_lite': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:600:1: in cc_library rule //tensorflow_serving/servables/tensorflow:regressor: target '//tensorflow_serving/servables/tensorflow:regressor' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:signature_lite': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:623:1: in cc_test rule //tensorflow_serving/servables/tensorflow:regressor_test: target '//tensorflow_serving/servables/tensorflow:regressor_test' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:session_bundle': No longer supported. Switch to SavedModel immediately..
____Loading package: @org_tensorflow//tensorflow/contrib/factorization/kernels
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:141:1: in cc_test rule //tensorflow_serving/servables/tensorflow:session_bundle_factory_test: target '//tensorflow_serving/servables/tensorflow:session_bundle_factory_test' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:session_bundle': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:61:1: in cc_test rule //tensorflow_serving/servables/tensorflow:bundle_factory_util_test: target '//tensorflow_serving/servables/tensorflow:bundle_factory_util_test' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:session_bundle': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:229:1: in cc_test rule //tensorflow_serving/servables/tensorflow:session_bundle_source_adapter_test: target '//tensorflow_serving/servables/tensorflow:session_bundle_source_adapter_test' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:session_bundle': No longer supported. Switch to SavedModel immediately..
____Loading package: @jsoncpp_git//
____Loading package: @org_tensorflow//third_party/hadoop
____Loading package: @org_tensorflow//tensorflow/contrib/factorization
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:562:1: in cc_library rule //tensorflow_serving/servables/tensorflow:classification_service: target '//tensorflow_serving/servables/tensorflow:classification_service' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:session_bundle': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:450:1: in cc_test rule //tensorflow_serving/servables/tensorflow:get_model_metadata_impl_test: target '//tensorflow_serving/servables/tensorflow:get_model_metadata_impl_test' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:session_bundle': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:646:1: in cc_library rule //tensorflow_serving/servables/tensorflow:multi_inference: target '//tensorflow_serving/servables/tensorflow:multi_inference' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:session_bundle': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:486:1: in cc_test rule //tensorflow_serving/servables/tensorflow:predict_impl_test: target '//tensorflow_serving/servables/tensorflow:predict_impl_test' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:session_bundle': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:432:1: in cc_library rule //tensorflow_serving/servables/tensorflow:get_model_metadata_impl: target '//tensorflow_serving/servables/tensorflow:get_model_metadata_impl' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:session_bundle': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:581:1: in cc_library rule //tensorflow_serving/servables/tensorflow:regression_service: target '//tensorflow_serving/servables/tensorflow:regression_service' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:session_bundle': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:412:1: in cc_library rule //tensorflow_serving/servables/tensorflow:predict_impl: target '//tensorflow_serving/servables/tensorflow:predict_impl' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:session_bundle': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:207:1: in cc_library rule //tensorflow_serving/servables/tensorflow:session_bundle_source_adapter: target '//tensorflow_serving/servables/tensorflow:session_bundle_source_adapter' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:session_bundle': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:120:1: in cc_library rule //tensorflow_serving/servables/tensorflow:session_bundle_factory: target '//tensorflow_serving/servables/tensorflow:session_bundle_factory' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:session_bundle': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:538:1: in cc_test rule //tensorflow_serving/servables/tensorflow:classifier_test: target '//tensorflow_serving/servables/tensorflow:classifier_test' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:session_bundle': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/batching/BUILD:72:1: in cc_test rule //tensorflow_serving/batching:batching_session_test: target '//tensorflow_serving/batching:batching_session_test' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:session_bundle': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:412:1: in cc_library rule //tensorflow_serving/servables/tensorflow:predict_impl: target '//tensorflow_serving/servables/tensorflow:predict_impl' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:signature': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:581:1: in cc_library rule //tensorflow_serving/servables/tensorflow:regression_service: target '//tensorflow_serving/servables/tensorflow:regression_service' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:signature': No longer supported. Switch to SavedModel immediately..
WARNING: C:/users/abhisek.panigrahi/serving/tensorflow_serving/servables/tensorflow/BUILD:562:1: in cc_library rule //tensorflow_serving/servables/tensorflow:classification_service: target '//tensorflow_serving/servables/tensorflow:classification_service' depends on deprecated target '@org_tensorflow//tensorflow/contrib/session_bundle:signature': No longer supported. Switch to SavedModel immediately..
____Loading package: @pcre//
____Loading package: @nccl_archive//
ERROR: C:/users/abhisek.panigrahi/appdata/local/temp/_bazel_abhisek.panigrahi/9tglboge/external/nccl_archive/BUILD:46:16: in linkopts attribute of cc_library rule @nccl_archive//:nccl: could not resolve label 'ws2_32.lib'.
ERROR: C:/users/abhisek.panigrahi/appdata/local/temp/_bazel_abhisek.panigrahi/9tglboge/external/nccl_archive/BUILD:46:16: in linkopts attribute of cc_library rule @nccl_archive//:nccl: could not resolve label 'ws2_32.lib'.
ERROR: Analysis of target '//tensorflow_serving/model_servers:tensorflow_model_server_deb' failed; build aborted: Analysis of target '@nccl_archive//:nccl' failed; build aborted.
____Elapsed time: 7.328s

在根目录的tensorflow服务中输出git log -1

commit a82e7d060dad08b911be945fa1732a2a71a73771 (HEAD -> master, origin/master, origin/HEAD)
Author: Fred Reiss <frreiss@us.ibm.com>
Date:   Mon Nov 13 10:26:46 2017 -0800

    Sync code example in docs with original (#654)

我已完成git submodule update

1 个答案:

答案 0 :(得分:1)

could not resolve label 'ws2_32.lib'实际上是Bazel而不是MSVC编译器报告的错误。这是由nccl.BUILD中错误使用linkopts引起的。我已发送#14790来修复它。

但不幸的是,还没有针对tensorflow_serving的Windows构建。主要是因为我们遇到了Windows长路问题。我提交this issue来跟踪此问题。