root権限なしでbazelを使用してsyntaxnetを構築しようとしています。bazel 0.2.2b をダウンロードし、その Web サイトで提案されているように、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.
その後、テストは実行されません。つまり、12 個のテストがすべてスキップされます。どんなアイデアでも大歓迎です。
編集:古いバージョンの 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
ありがとう!