0

我正在尝试使用没有 root 权限的 bazel 构建语法网络。我已经下载了 bazel 0.2.2b 并按照其网站上的建议提取了 syntaxnet git 存储库。我已经设法为 bazel 构建传递了新的 gcc,并将我的环境变量设置为包括本地 gcc 以及我的本地 python 版本(2.7)。我还将 swig 和 jdk 添加到PATH. 不过,尝试运行时出现以下错误bazel test syntaxnet/... util/utf8/...

INFO: Found 65 targets and 12 test targets... ERROR: /home/davba/.cache/bazel/_bazel_debauscd/33ff1ccf943e8d1167bc44c81c9ea8f4/external/org_tensorflow/tensorflow/python/BUILD:1023:1: output 'external/org_tensorflow/tensorflow/python/pywrap_tensorflow.cc' was not created. ERROR: /home/davba/.cache/bazel/_bazel_debauscd/33ff1ccf943e8d1167bc44c81c9ea8f4/external/org_tensorflow/tensorflow/python/BUILD:1023:1: output 'external/org_tensorflow/tensorflow/python/pywrap_tensorflow.py' was not created. ERROR: /home/davba/.cache/bazel/_bazel_debauscd/33ff1ccf943e8d1167bc44c81c9ea8f4/external/org_tensorflow/tensorflow/python/BUILD:1023:1: not all outputs were created.

之后,没有运行任何测试,这意味着所有十二个测试都被跳过。任何想法都受到高度赞赏。

编辑:我意识到我使用了旧版本的 protobuf。不幸的是,即使更新后问题仍然存在。

由于这似乎是与 python 相关的问题,并且我从源代码构建了 python,因此我尝试使用 anaconda,但最终遇到了同样的错误。

更多信息:我正在使用 CentOS 6.5 并尝试了 python 2.7.11。我将环境变量设置如下,并相应地更改了用于构建 bazel 的 CROSSTOOL文件

CXX=/soft/csw/linux64/rel6/gccs-4.8.5/bin/c++

CC=/soft/csw/linux64/rel6/gccs-4.8.5/bin/gcc

LDFLAGS="-L/soft/csw/linux64/rel6/gccs-4.8.5/lib -L/soft/csw/linux64/rel6/gccs-4.8.5/lib64":"-L/home/davba/syntaxnet-utils/pcre/lib"

CXXFLAGS="-L/soft/csw/linux64/rel6/gccs-4.8.5/lib -L/soft/csw/linux64/rel6/gccs-4.8.5/lib64"

LD_LIBRARY_PATH=/soft/csw/linux64/rel6/gccs-4.8.5/lib:/soft/csw/linux64/rel6/gccs-4.8.5/lib64:/home/davba/AnacondaPython/lib:$LD_LIBRARY_PATH

SWIG_PATH=/home/davba/syntaxnet-utils/compiled-swig/bin

谢谢!

4

1 回答 1

0

我尝试在另一台装有 CentOS 7.0 的机器上运行它,但最终还是遇到了同样的错误。

最后,我有机会切换到具有 sudo 权限的 Ubuntu 机器,这使我能够运行 bazel 安装程序并毫无问题地编译 syntaxnet。这解决了我的问题。对于“真正的”修复,我认为我们必须等待遇到同样问题的人。

于 2016-07-14T11:31:47.967 回答