在 ppc64le 上构建 Bazel 0.5.3 时出错

Posted

技术标签:

【中文标题】在 ppc64le 上构建 Bazel 0.5.3 时出错【英文标题】:Error while building Bazel 0.5.3 on ppc64le 【发布时间】:2018-02-05 22:03:24 【问题描述】:

我正在尝试在 Ubuntu 16.04、Linux ppc64le 上构建 bazel 0.5.3。我想知道 bazel 0.5.3 所需的 PROTOC 和 GRPC_JAVA_PLUGIN 版本。 使用 protoc 3.2.0 和 grpc-java 1.0.0,我遇到了错误-

./compile.sh

INFO:您可以通过提供 bazel 二进制文件的路径作为第二个参数来跳过这第一步: 信息:./compile.sh 编译 /path/to/bazel ???从头开始构建 Bazel。/opt/DL/protobuf/bin/protoc -Isrc/main/protobuf/ -Isrc/main/java/com/google/devtools/build/lib/buildeventstream/proto/ --java_out=/tmp/ bazel_ltKtch3G/src --plugin=protoc-gen-grpc=/pkgbuild/bazel/protoc-gen-grpc-java --grpc_out=/tmp/bazel_ltKtch3G/src src/main/java/com/google/devtools/build/lib /buildeventstream/proto/build_event_stream.proto src/main/protobuf/invocation_policy.proto:找不到文件。 build_event_stream.proto:导入“src/main/protobuf/invocation_policy.proto”未找到或有错误。 build_event_stream.proto:261:3:“blaze.invocation_policy.InvocationPolicy”未定义。

我认为是因为 protoc/grpc-java 版本不兼容。请帮助我。 提前致谢, 西达

【问题讨论】:

【参考方案1】:

您可以在此处查看版本:

https://github.com/bazelbuild/bazel/tree/0.5.3/third_party/protobuf https://github.com/bazelbuild/bazel/tree/0.5.3/third_party/grpc

所以看来 Bazel 0.5.3 依赖于 grpc 1.3.0 和 protobuf 3.2.0。

只是为了确保您确实下载了分发存档,对吗? compile.sh 不适用于克隆的 git repo。

仅供参考,您也可以试用最近发布的 Bazel 0.5.4。

【讨论】:

非常感谢您的回复。我可以使用从github.com/bazelbuild/bazel/releases/download/0.5.3/… 下载的分发存档使用 protobuf 3.2.0 和 grpc-java 1.3.0 构建 bazel 0.5.3。 另一件事是来自克隆的 git repo 的 compile.sh 一直为我工作,直到 0.4.5 之前的旧 bazel 版本。对于 0.5.3,我还没有尝试克隆的 git repo 是否有效。 compile.sh 无法从克隆的 repo 设计:bazel.build/designs/2016/10/11/distribution-artifact.html

以上是关于在 ppc64le 上构建 Bazel 0.5.3 时出错的主要内容,如果未能解决你的问题,请参考以下文章

使用Golang 1.10编译Windows DLL时遇到问题。

在IBM lsf.conf上构建Bazel

CentOS Atomic Host 7.5发布,给那些想要运行Linux容器的人

使用 python 3.6 安装自定义构建 tensorflow 1.12 轮时出错

bazel:使用 WSL 的 bash 而不是 MSYS64

ubuntu安装docker