我可以访问一台大型IBM Power8机器(运行Ubuntu),并希望在其上构建Bazel。但是,当我尝试按照他们的安装说明建议时,我得到:
me@machine:~/bazel-0.1.5$ ./compile.sh
INFO: You can skip this first step by providing a path to the bazel binary as second argument:
INFO: ./compile.sh compile /path/to/bazel
Building Bazel from scratch.
Compiling Java stubs for protocol buffers...
third_party/protobuf/protoc-linux-x86_32.exe -Isrc/main/protobuf/ --java_out=/tmp/bazel.T9C83cNa/src src/main/protobuf/android_studio_ide_info.proto
scripts/bootstrap/buildenv.sh: line 63: third_party/protobuf/protoc-linux-x86_32.exe: cannot execute binary file: Exec format error
pv@sardonis:~/bazel-0.1.5$ ^C
显然,问题的一部分是编译器尝试使用32位编译器。我尝试了下面的事情无济于事。
third_party/protobuf/protoc-linux-x86_32.exe
的副本替换third_party/protobuf/protoc-linux-x86_64.exe
。这也给出了同样的错误。third_party/protobuf/protoc-linux-x86_32.exe
替换为/usr/local/bin/protoc
的符号链接,该链接随我的发行版附带(根据libprotoc 3.0.0
,这是版本protoc --version
)。但是,这会产生大量错误:http://pastebin.com/HN0MQiC4 所以,我没有灵感。如何在IBM Power8机器上编译Bazel?
(PS:我已将此作为解析installing TensorFlow on the IBM power8的一部分发布,所以它不是一个重复的问题,只是一个方面,以逐步解决它。)
答案 0 :(得分:0)
您使用的protobuf版本必须与签入的protobuf运行时匹配。在这种情况下,那是protobuf-java-3.0.0-beta-1.jar [1],所以你必须使用编译器版本3.0.0-beta-1。
(我在Bazel工作。)
[1] https://github.com/bazelbuild/bazel/tree/master/third_party/protobuf