我正在尝试使用没有 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
谢谢!