我尝试使用bazel构建tensorflow服务,但我在构建期间遇到了一些错误
DoesNotExist
我已经尝试使用ERROR:/private/var/tmp/_bazel_Kakadu/3f0c35881c95d2c43f04614911c03a57/external/local_config_cc/BUILD:49:5: in apple_cc_toolchain rule @local_config_cc//:cc-compiler-darwin_x86_64: Xcode version must be specified to use an Apple CROSSTOOL.
ERROR: Analysis of target '//tensorflow_serving/sources/storage_path:file_system_storage_path_source_proto' failed; build aborted.
和bazel clean
,但它没有帮助,但Bazel仍然没有看到我的xcode(我猜)但它已经完全安装了。我甚至重新安装它以确保一切正常,但错误并没有消失
我的Bazel版本
bazel clean --expunge
操作系统是MacOS Sierra版本10.12.5
如何在bazel中指定Xcode版本以避免此错误?似乎错误是常见的,但我还没有找到如何制作bazel。 P.S我正在尝试安装tensorflow-服务如何解释这里的方式。 https://tensorflow.github.io/serving/setup
答案 0 :(得分:68)
bazel clean --expunge
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -license
bazel clean --expunge
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
答案 1 :(得分:7)
看起来xcode_configure无法正确识别您已安装xcode。如果您安装xcode但尚未完全打开它,有时会发生这种情况(它可能会要求您在完全正常运行之前同意条款和条件)。如果这是问题,那么您需要再次bazel clean --expunge
...
如果这没有帮助,您可以通过调用(在构建失败后)获取一些调试信息以识别出错的地方:
cat $(bazel info output_base)/external/local_config_xcode/BUILD
这应包含一些与查找已安装的xcodes失败有关的注释。
答案 2 :(得分:6)
出现同样的问题,因为我使用的是XCode的测试版,我不得不在/Downloads/Xcode-beta.app
中找到安装。
顺便提一下,我的解决方案是打开XCode,转到“首选项”,然后选择“位置”选项卡。 Command Line Tools
下拉列表是空白的,我必须按下它并选择一个版本(在我的情况下为Xcode 9.0)。然后我运行bazel clean --expunge
并重复构建过程而不会收到错误。希望这有助于某人。
答案 3 :(得分:2)
对我而言,这是xcodebuild的许可问题。跑完之后
bazel clean --expunge
我试图再次运行bazel,我已经得到了运行的指令
sudo xcodebuild -license
。
我已经执行,接受了许可条款,再次运行
bazel clean --expunge
一切都开始重新开始了。
希望它能解决一些问题。
答案 4 :(得分:1)
为了构建objc,Bazel要求您指定xcode版本 - 这通常由xcode_configure自动完成。如果这不起作用,您可以使用--xcode_version标志在命令行上手动指定xcode版本。