Googleが開発したビルドツールBazelをUbuntu 18.04LTSにインストールしました

Updated:

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を使った開発手順を一通り理解できます。 英語ですが、トライすると良いでしょう。