无法从源 MacOS High Sierra 构建 TensorFlow

Posted

技术标签:

【中文标题】无法从源 MacOS High Sierra 构建 TensorFlow【英文标题】:Unable to build Tensorflow from source MacOS High Sierra 【发布时间】:2017-12-24 16:08:36 【问题描述】:

我已按照official guide 中的所有步骤进行操作。除了我使用以下方法构建它:

$ bazel build -c opt --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=- msse4.1 --copt=-msse4.2 --config=opt -k //tensorflow/tools/pip_package:build_pip_package

./config 期间,我设置了正确的路径并禁用了 Google Cloud Platform、Hadoop、XLA、VERBS、OpenCL、CUDA、MPI 支持。

硬件:

Macbook Pro 13 英寸(2014 年中) CPU:英特尔酷睿 i5 (4278U) 内存:8GB

软件:

High Sierra (10.13.2) Clang 版本:clang-900.0.39.2 Bazel 版本:0.9.0 康达版本:4.4.3 Python:3.6.3

所有软件包都是最新的。这在 2 个月前在这台机器上运行得非常好。由于一些奇怪的原因,它现在不再构建了。我只是在这里发布错误列表的一部分:

警告:配置值未在任何 .rc 文件中定义:opt

错误:跳过'msse4.1':没有这样的目标'//:msse4.1':目标'msse4.1'未在/Users/rakshithgb/Documents/Tensorflow/tensorflow/BUILD定义的包''中声明

警告:目标模式解析失败。

错误:/private/var/tmp/_bazel_rakshithgb/fde7bc60972656b0c2db4fd0b79e24fb/external/com_googlesource_code_re2/BUILD:96:1:“加载”的第一个参数必须是标签,并以“//”、“:”或'@'。使用 --incompatible_load_argument_is_label=false 暂时禁用此检查。

错误:/private/var/tmp/_bazel_rakshithgb/fde7bc60972656b0c2db4fd0b79e24fb/external/com_googlesource_code_re2/BUILD:98:1:名称“re2_test”未定义(您的意思是“ios_test”吗?)

错误:/private/var/tmp/_bazel_rakshithgb/fde7bc60972656b0c2db4fd0b79e24fb/external/com_googlesource_code_re2/BUILD:100:1:名称“re2_test”未定义(您的意思是“ios_test”吗?)

它的结尾是这样的:

错误:/Users/rakshithgb/Documents/Tensorflow/tensorflow/tensorflow/core/kernels/BUILD:550:1: Target '@local_config_sycl//sycl:using_sycl' 包含一个错误,它的包有错误并且被引用'//tensorflow/core/kernels:debug_ops'

警告:分析目标“//tensorflow/tools/pip_package:build_pip_package”时遇到的错误:它不会被构建

INFO:分析的目标 //tensorflow/tools/pip_package:build_pip_package(已加载 203 个包)。

信息:找到 0 个目标...

错误:命令成功,但解析目标模式时出错

INFO:经过时间:12.763s,关键路径:0.02s

失败:构建未成功完成

还有其他人遇到过这个问题吗?我如何解决它?我已经在 GitHub Tensorflow 问题页面上上传了整个错误日志。 #15622

【问题讨论】:

【参考方案1】:

好的,看起来新的 bazel 版本与当前的 Tensorflow 版本不兼容。看起来修复程序将在下一个版本中发布。根据 GitHub 上的这个帖子 - #15492

对我有用的临时修复是在 bazel 命令中使用 --incompatible_load_argument_is_label=false 构建它。所以我的构建命令现在看起来像这样:

$ bazel build --config=opt --incompatible_load_argument_is_label=false //tensorflow/tools/pip_package:build_pip_package

【讨论】:

以上是关于无法从源 MacOS High Sierra 构建 TensorFlow的主要内容,如果未能解决你的问题,请参考以下文章

CocoaPods 在 macOS High Sierra 中不起作用

在macOS High Sierra 10.13.3上的Grails中的FixtureException

MacOS High Sierra 引起 VirtualBox Vagrant 同步慢

如何制作macos high sierra安装u盘

不需要制作安装盘!教你在 MacOS 系统下安装 High Sierra 系统到另一个分区

如何以编程方式在 macOS Sierra/High Sierra 上创建 PPTP *** 连接?