Search code examples
tensorflowbuildarmx86-64bazel

Building bazel from source - Getting Failed


The objective of my experiment is to build tensorflow on Jetson TK1 arm based embedded board. Since pre-builts of tensorflow for arm architecture are not given by the official releases, I was forced to the option of building it from source.

To build tensorflow, we need Bazel which should be also build from source. Now I got stuck here, not able to build bazel at all.

I have referred various blogs and github projects and tried to follow the instructions everyone said it worked for them.

1) Tensorflow on Raspberry-pi

2) Jetson Hacks building Tensorflow from source

3) Official Documentation

Steps Followed:

$ sudo apt-get install build-essential openjdk-8-jdk python zip

$ wget https://github.com/bazelbuild/bazel/releases/download/0.4.5/bazel-0.4.5-dist.zip

$ unzip -d bazel bazel-0.4.5-dist.zip

$ cd bazel

$ sudo ./compile.sh

Error Log:

ERROR: /build/bazel/src/main/protobuf/BUILD:25:2: Java compilation in rule '//src/main/protobuf:extra_actions_base_java_proto' failed: Worker process sent response with exit code: 1.
java.lang.InternalError: Cannot find requested resource bundle for locale en_US
    at com.sun.tools.javac.util.JavacMessages.getBundles(JavacMessages.java:128)
    at com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:147)
    at com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:140)
    at com.sun.tools.javac.util.Log.localize(Log.java:673)
    at com.sun.tools.javac.util.Log.printLines(Log.java:485)
    at com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:156)
    at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:93)
    at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:87)
    at com.google.devtools.build.buildjar.javac.BlazeJavacMain.compile(BlazeJavacMain.java:104)
    at com.google.devtools.build.buildjar.SimpleJavaLibraryBuilder$1.invokeJavac(SimpleJavaLibraryBuilder.java:163)
    at com.google.devtools.build.buildjar.ReducedClasspathJavaLibraryBuilder.compileSources(ReducedClasspathJavaLibraryBuilder.java:52)
    at com.google.devtools.build.buildjar.SimpleJavaLibraryBuilder.compileJavaLibrary(SimpleJavaLibraryBuilder.java:166)
    at com.google.devtools.build.buildjar.SimpleJavaLibraryBuilder.run(SimpleJavaLibraryBuilder.java:178)
    at com.google.devtools.build.buildjar.BazelJavaBuilder.processRequest(BazelJavaBuilder.java:90)
    at com.google.devtools.build.buildjar.BazelJavaBuilder.runPersistentWorker(BazelJavaBuilder.java:67)
    at com.google.devtools.build.buildjar.BazelJavaBuilder.main(BazelJavaBuilder.java:44)
Caused by: java.util.MissingResourceException: Can't find bundle for base name com.google.errorprone.errors, locale en_US
    at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1573)
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1396)
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:854)
    at com.sun.tools.javac.util.JavacMessages.lambda$add$0(JavacMessages.java:106)
    at com.sun.tools.javac.util.JavacMessages.getBundles(JavacMessages.java:125)
    ... 15 more
Target //src:bazel failed to build
INFO: Elapsed time: 291.995s, Critical Path: 258.92s

ERROR: Could not build Bazel

To make sure the error is independent of the architecture, I have tried to build Bazel in x86_64 PC. Even there I am getting the same error. I have seen people created the similar issue in bazel github group, none solved.


Solution

  • Version 0.4.5 is very old. We just released 0.12.0, could you try that one?