0. 環境
OS: Amazon Linux AMI 2017.09.1
t2.micro
1. ソースをダウンロード
$ wget https://github.com/bazelbuild/bazel/releases/download/0.9.0/bazel-0.9.0-dist.zip
$ unzip bazel-0.9.0-dist.zip
最新のバージョンは
https://github.com/bazelbuild/bazel/releases
で探してください。
2018/1/18現在は0.9.0
2. コンパイル
2.1 JDK
コンパイルに必要なJDKをインストール。
1.8.0が必要らしい。
$ sudo yum -y install java-1.8.0-openjdk-devel
デフォルトでは1.7.0が設定されているので1.8.0に変えます
$ sudo alternatives --config java
2 プログラムがあり 'java' を提供します。
選択 コマンド
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
2 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.25-0.b18.4.amzn1.x86_64/jre/bin/java
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:
2
と入力してEnter
java -versionで1.8.0になったことを確認します。
$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
2.2 bazel
sudo ./compile.sh
でコンパイル
※ t2.microの場合は以下の2つのエラーが出るはずなので、先に対策しておくとよいと思います。
トラブルシューティング
①もしjava.lang.OutOfMemoryError: Java heap space
がでたら、この記事を参照してください。
->ソースからbazelをコンパイルする時に"java.lang.OutOfMemoryError: Java heap space"というエラーが出たときの対処法
②もしg++: error trying to exec 'cc1plus': execvp: No such file or directory
というエラーがでたら、
sudo yum install gcc-c++
でgcc-c++をインストールすればOK
最後に、コンパイルされたbazelをパスが通っている/usr/binに移動します。
$ sudo cp output/bazel /usr/bin/
最後に、bazelにパスが通っていることが確認できたら終わりです。
$ which bazel
/usr/bin/bazel
お疲れ様でした!