Сборка базеля из источника на IBM power8

У меня есть доступ к большой машине 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
  • Следуйте инструкциям на http://www.cnblogs.com/rodenpark/p/5007744.html чтобы скомпилировать Protobuf из исходного кода, а затем собрать Bazel с изменениями на http://www.cnblogs.com/rodenpark/p/5007846.html, но это привело к аналогичному большому количеству ошибок: http://pastebin.com/KjkseaGx для справки.

Итак, я вне вдохновения. Как я могу скомпилировать Bazel на машинах IBM Power8?

(PS: я опубликовал это как часть решения по установке TensorFlow на IBM power8, так что это не повторяющийся вопрос, а лишь один аспект для его поэтапного решения.)

1 ответ

Используемая вами версия protobuf должна соответствовать установленной среде выполнения protobuf. В данном случае это protobuf-java-3.0.0-beta-1.jar [1], поэтому вы должны использовать версию 3.0 компилятора. 0-бета-1.

(Я работаю на Базеле.)

[1] https://github.com/bazelbuild/bazel/tree/master/third_party/protobuf

Другие вопросы по тегам