Googleが開発したビルドツールBazelをUbuntu 18.04LTSにインストールしました
Bazelは、Googleが開発した、複数の言語や複数のプラットフォームを対象としたビルドツールです。 公式ページではA fast, scalable, multi-language and extensible build systemsとうたっています。
TensorFlowをいじろうとしたところ、ビルドにBazelが必要だったので、インストールしてみました。 その時のメモです。
インストールした環境は、Windows 10のWSL上で動作するUbuntu 18.04 LTSです。
作業時点(2019/7/10)では、Bazelの最新バージョンは0.27ですが、 このバージョンでTensorFlow(r1.31.2)をビルドしようとすると、 「Obsoleteな記述があるので、書き換えてね」みたいなメッセージ(英語)を表示して失敗します。
TensorFlow(r1.13.2)について調べてみると、Bazel 0.18でのビルド成功の実績がありました。 そこで、ここでは最新の0.27ではなく、Bazel 0.18をインストールすることにしました。 (実際には、まずBazel 0.27をインストールしたところ、TensorFlowのビルドに失敗したので、原因を調べてみたところBazel 0.18を使えばよいことがわかったのでした。)
Ubuntuへのインストール手順は、オフィシャルサイトのInstalling Bazel on Ubuntuで説明されています。 複数の方法がありますが、ここでは推奨されているバイナリインストーラを使う方法(“Installing using binary installer”)の手順でインストールしました。
(1) まず下準備として必要なパッケージをインストールします。
sudo apt-get install pkg-config zip g++ zlib1g-dev unzip python3
(2) Bazelのインストーラをダウンロードします。
GitHubのBazelリリースページから、使用するバージョン用のインストーラをダウンロードします。
Ubuntu用のインストーラはbazel-<version>-installer-linux-x86_64.sh
という名前です。
(3) インストーラを実行します。--user
オプションを指定しているので、Bazelは$HOME/bin
にインストールされます。
chmod +x bazel-<version>-installer-linux-x86_64.sh
./bazel-<version>-installer-linux-x86_64.sh --user
(4) 環境を設定します。PATH
に$HOME/bin
が通してやります。
また、bashでの補完を有効にするには、~/.bashrc
に以下の設定を追加します。
source /home/cond/.bazel/bin/bazel-complete.bash
(5) bazelを起動できることを確認します。 次のコマンドを実行すると、Bazelのバージョンとヘルプが表示されるはずです。
bazel help
Bazelの使い方については、検索すれば日本語の解説記事が見つかるので、そちらを参照してください。 例えば、「Googleが開発する最新ビルドツール「Bazel」を使ってみよう | さくらのナレッジ」。
公式サイトには、チュートリアル(英語)が用意されています。 簡潔なチュートリアルですが、Bazelを使った開発手順を一通り理解できます。 英語ですが、トライすると良いでしょう。