Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bazel compile on arm32 machine with error information: gRPC Java plugin not found in #1705

Closed
Momotyust opened this issue Aug 30, 2016 · 6 comments
Labels
P2 We'll consider working on this in future. (Assignee optional) type: feature request
Milestone

Comments

@Momotyust
Copy link

i try to install tensorflow on arm32 platform follow the tutorial:
https://github.com/samjabrahams/tensorflow-on-raspberry-pi/blob/master/GUIDE.md

when i try to compile bazel (release 0.3.1) using command "./compile.sh", then error comes out:
"
norco@ubuntu:~/Tools/bazel$ ./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
gRPC Java plugin not found in
"
HOW CAN I SOLVE THIS PROBLEM?

i try to google using keywords like "gRPC Java plugin not found in","bazel gRPC Java plugin not found in ", but answers gain.

BUT, i get some information from
https://github.com/bazelbuild/bazel/blob/master/scripts/bootstrap/compile.sh
it's just the compile.sh.

i find something in the shell script .
"
[1]
case "${PLATFORM}" in
linux)

JAVA_HOME must point to a Java installation.

JAVA_HOME="${JAVA_HOME:-$(readlink -f $(which javac) | sed 's_/bin/javac__')}"
if [ "${MACHINE_IS_64BIT}" = 'yes' ]; then
PROTOC=${PROTOC:-third_party/protobuf/protoc-linux-x86_64.exe}
GRPC_JAVA_PLUGIN=${GRPC_JAVA_PLUGIN:-third_party/grpc/protoc-gen-grpc-java-0.15.0-linux-x86_64.exe}
else
if [ "${MACHINE_IS_ARM}" = 'yes' ]; then
PROTOC=${PROTOC:-third_party/protobuf/protoc-linux-arm32.exe}
else
PROTOC=${PROTOC:-third_party/protobuf/protoc-linux-x86_32.exe}
GRPC_JAVA_PLUGIN=${GRPC_JAVA_PLUGIN:-third_party/grpc/protoc-gen-grpc-java-0.15.0-linux-x86_32.exe}
fi
fi
;;
.........
.........
.........
[2]
[[ -x "${GRPC_JAVA_PLUGIN-}" ]]
|| fail "gRPC Java plugin not found in ${GRPC_JAVA_PLUGIN-}"
.........
.........
.........
[3]
if [ -z "${BAZEL_SKIP_JAVA_COMPILATION}" ]; then
log "Compiling Java stubs for protocol buffers..."
for f in $PROTO_FILES ; do
run "${PROTOC}" -Isrc/main/protobuf/ --java_out=${OUTPUT_DIR}/src
--plugin=protoc-gen-grpc="${GRPC_JAVA_PLUGIN-}"
--grpc_out=${OUTPUT_DIR}/src "$f"
done
"
in [1], "GRPC_JAVA_PLUGIN" is not set when platform is arm. but in [2], where check it and give error information.
i want to delete [2], but in [3], "GRPC_JAVA_PLUGIN" come again.....then i do not know how to do.

@aehlig
Copy link
Contributor

aehlig commented Sep 1, 2016

/cc @lberki who knows better about the current state of our dependency on gRPC.

@lberki
Copy link
Contributor

lberki commented Sep 2, 2016

Ugh, that's bad. We don't provide protobuf binaries for protoc or grpc, thus, the TensorFlow people tell their users to compile protobuf, however, they don't have instructions for gRPC yet.

(Paging @damienmg)

We have two options here: either provide arm32 binaries or get rid of checked-in binaries in favor of checked-in generated protobuf sourrces. The former is probably easier in the short term, but the latter is much nicer, because distributing pre-compiled binary blobs is not very transparent.

@damienmg damienmg added type: feature request P2 We'll consider working on this in future. (Assignee optional) labels Sep 5, 2016
@damienmg damienmg added this to the 0.7 milestone Sep 5, 2016
@samjabrahams
Copy link

Hey guys- I stumbled upon this thread while building the next release of the (unofficial) RPi binaries. I'll be working toward building gRPC for Raspberry Pi and updating the guide. My repo is unofficial, so don't feel like you have to bend over backwards to support us unless you think it's beneficial to you all.

@lberki
Copy link
Contributor

lberki commented Sep 19, 2016

The vague plan is to distribute a source tree which has the generated sources, too, so that it can be built even if you don't have protoc on your platform. It'll take a while to materialize, though, because, well, we all have things to do.

@Momotyust
Copy link
Author

Thanks for everyone! Finally i have installed tensorflow on arm32 platform. I use a bazel version 0.2.1, and a earlier version tensorflow 0.1.0. Maybe it is time to close this issues.

@cerisara
Copy link

I'm having the same issue, trying to compile tensorflow on Android tablet with GNURoot + arm 32 bits.
Even checking out Bazel v0.2.1 does not solve it: compile.sh just ends silently, but no bazel executable is made. @Momotyust How did you manage to compile v0.2.1 ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P2 We'll consider working on this in future. (Assignee optional) type: feature request
Projects
None yet
Development

No branches or pull requests

6 participants