[概要l
android上のArchLinux (TermuxArch)でbazelをビルドする方法
[詳細]
-Oracle jdk 8をインストールする。
(pacmanのopenjdk8は古すぎるため)
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
> pacman -S zip
(これ重要。ビルドの最後の最後でzipが無いとエラーで最初からやり直し。)
bazel-*-dist.zipを取ってくる。(bazel-0.12.0-dist.zipで確認)
https://github.com/bazelbuild/bazel/releases
script/bootstrap/compile.sh を修正しjavaのヒープメモリを増やしておく。
run "${JAVAC}" -verbose -J-Xms1024m -J-Xmx1024m -classpath ...
環境変数でジョブ数を1に制限。
> export EXTRA_BAZEL_ARGS='--jobs 1'
(増やすとillegal seekエラーが出てビルドに失敗する。)
トップディレクトリで
> ./compile.sh
を実行。数時間待つ。
ビルドに成功したら。コピーする。
> cp output/bazel /usr/local/bin/
完了。
(所感: bazelのビルドは失敗すると最初からやり直しで数時間コース。デフォルトではログも出ない、illegal seekなど罠も多く、いったい何回試行錯誤したことか!ちなみにjdk9でもまだうまくいきません。)
(次回: おまちかね、tensorflowのビルド!そこにはさらなる罠が!?)
0 件のコメント:
コメントを投稿