簡體   English   中英

無法編譯tensorflow所需的bazel-android

[英]Cannot compile bazel needed for tensorflow-android

我正在嘗試探索tensorflow android演示。 我想使用android studio修改應用程序。

但是,當我僅按照說明進行操作時,無論執行什么操作 ,都會出現編譯錯誤:

嘗試使用bazel和NDK r12b編譯Tensorflow:

$bazel build -c opt //tensorflow/examples/android:tensorflow_demo
ERROR: /home/myUser/libs/tensorflow_android/WORKSPACE:3:1: //external:io_bazel_rules_closure: no such attribute 'urls' in 'http_archive' rule.
ERROR: /home/myUser/libs/tensorflow_android/WORKSPACE:3:1: //external:io_bazel_rules_closure: missing value for mandatory attribute 'url' in 'http_archive' rule.
ERROR: com.google.devtools.build.lib.packages.BuildFileContainsErrorsException: error loading package '': Encountered error while reading extension file 'closure/defs.bzl': no such package '@io_bazel_rules_closure//closure': error loading package 'external': Could not load //external package.
INFO: Elapsed time: 0.129s

按照以下建議嘗試編譯更新版本的bazel

$bazel version
Build label: 0.2.3-jdk7 // This is my current version of bazel

通過apt-get:

$sudo apt-get upgrade bazel
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
E: Unable to locate package bazel

來源(嘗試bazel-0.4.2和bazel-0.5.0):

$./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
ERROR: JDK version (1.7) is lower than 1.8, please set $JAVA_HOME.

要么

$bazel build //src:bazel
ERROR: /home/myUser/libs/bazel/bazel-0.4.2/tools/build_rules/genproto.bzl:45:16: Traceback (most recent call last):
    File "/home/myUser/libs/bazel/bazel-0.4.2/tools/build_rules/genproto.bzl", line 42
        rule(gensrcjar_impl, attrs = {"src": at..."), <2 more arguments>), "_proto_compiler": attr.label(default = Label("//third_party/p..."), <4 more arguments>), "_jar": attr.label(default = Label("@bazel_tools//t..."), <4 more arguments>), "_jdk": attr.label(default = Label("@bazel_tools//t..."), ...)}, ..."})
    File "/home/myUser/libs/bazel/bazel-0.4.2/tools/build_rules/genproto.bzl", line 45, in rule
        attr.label(allow_files = proto_filetype, sing...)
allow_files should be a boolean or a filetype object.
ERROR: /home/myUser/libs/bazel/bazel-0.4.2/src/BUILD:130:1: error loading package 'src/main/protobuf': Extension file 'tools/build_rules/genproto.bzl' has errors and referenced by '//src:embedded_tools'.
ERROR: Loading failed; build aborted.
INFO: Elapsed time: 0.251s

切換到java-versions周圍,以查看bazel編譯問題是否來自那里:

$sudo update-alternatives --config java
There are 4 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-8-oracle/jre/bin/java          1074      auto mode
  1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode
* 2            /usr/lib/jvm/java-7-oracle/jre/bin/java          1072      manual mode
  3            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1069      manual mode
  4            /usr/lib/jvm/java-8-oracle/jre/bin/java          1074      manual mode

到目前為止沒有運氣:-/。 有沒有人成功地從源代碼為Android編譯te​​nsorflow?

需要/兼容哪個版本的Tensorflow,NDK,bazel,java? 我真的需要榛子嗎? (無論如何都不能使用它)我不能像其他任何應用程序一樣在android-studio中編譯android演示嗎?

我正在使用Ubuntu 14.04,Cuda8.0,cudnn_v5.1,Titan X Pascal(不確定這些是否重要)

無需編譯即可在Ubuntu上安裝Bazel。

請遵循專用文檔的所有步驟: 在Ubuntu上安裝Bazel

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM