我正在尝试使用没有root权限的bazel构建syntaxnet。我已经下载了bazel 0.2.2b并按照其网站上的建议拉出了syntaxnet git存储库。我已设法pass the new gcc进行bazel构建并设置我的环境变量以包含本地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.
之后,没有运行任何测试,这意味着将跳过所有12个测试。任何想法都受到高度赞赏。
编辑:我意识到我使用了旧版本的protobuf。不幸的是,问题在更新后仍然存在。
因为它似乎是一个与python相关的问题并且我从源代码构建了python,所以我尝试使用anaconda但最终却出现了同样的错误。
更多信息:我正在使用CentOS 6.5并尝试使用python 2.7.11。 我按如下方式设置了环境变量,并更改了用于构建bazel accordingly的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
谢谢!
答案 0 :(得分:0)
我尝试在使用CentOS 7.0的另一台计算机上运行它,但是出现了相同的错误。
最后,我有机会切换到具有sudo权限的Ubuntu机器,这使我能够运行bazel安装程序并编译syntaxnet而没有任何问题。这解决了我的问题。对于“真正的”修复,我认为我们必须等待遇到同样问题的人。