使用bazel构建syntaxnet:pywrap错误

时间:2016-07-11 07:53:18

标签: python-2.7 build bazel syntaxnet

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

谢谢!

1 个答案:

答案 0 :(得分:0)

我尝试在使用CentOS 7.0的另一台计算机上运行它,但是出现了相同的错误。

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