layout: documentation

Installing Bazel

System Requirements

Supported platforms:

  • Ubuntu Linux
  • Mac OS X

Java:

  • Java JDK 8 or later

Downloading Bazel

Clone the Bazel repo from GitHub:

$ cd $HOME
$ git clone https://github.com/google/bazel.git

Building Bazel

Building Bazel on Ubuntu

To build Bazel on Ubuntu:

1. Install JDK 8:

Ubuntu Trusty (14.04 LTS). OpenJDK 8 is not available on Trusty. To install Oracle JDK 8:

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer

Ubuntu Utopic (14.10). To install OpenJDK 8:

$ sudo apt-get install openjdk-8-jdk

2. Set the JAVA_HOME environment variable.

First, check to see if it's already set:

$ echo $JAVA_HOME

If this prints the path to the JDK 8 root directory, proceed to the next step. Otherwise, find the Java bin directory using which javac and use javac -version to verify that you have the right JDK version. Then set the JAVA_HOME environment variable to the bin directory parent.

For example, if the path is /usr/lib/jvm/jdk1.8.0/bin/javac, set the JAVA_HOME variable to /usr/lib/jvm/jdk1.8.0:

$ export JAVA_HOME=/usr/lib/jvm/jdk1.8.0

You can also add this line to your ~/.bashrc file.

3. Install required packages:

$ sudo apt-get install libarchive-dev pkg-config zip g++ zlib1g-dev

4. Build Bazel:

$ cd bazel
$ ./compile.sh

Building Bazel on OS X

Bazel on Mac OS X requires:

  • The Xcode command line tools. Xcode can be downloaded from the Apple Developer Site.

  • MacPorts or Homebrew for installing required packages.

  • An installation of JDK 8.

  • For objc_* and ios_* rule support, you must have Xcode 6.1 or later with iOS SDK 8.1 installed on your system.

To build Bazel on Mac OS X:

1. Install the required packages:

$ port install protobuf-cpp libarchive

or

$ brew install protobuf libarchive

2. Build Bazel:

$ cd bazel
$ ./compile.sh

3. Run Bazel:

$ ./output/bazel help

Running Bazel

The Bazel executable is located at output/bazel in the Bazel home directory. It's a good idea to add this path to your default paths, as follows:

$ export PATH="$PATH:$HOME/bazel/output"

You can also add this command to your ~/.bashrc file.

Getting bash completion

Bazel comes with a bash completion script. To install it:

  1. Build it with Bazel: bazel build //scripts:bazel-complete.bash.
  2. Copy the script bazel-bin/scripts/bazel-complete.bash to your completion folder (/etc/bash_completion.d directory under Ubuntu). If you don't have a completion folder, you can copy it wherever suits you and simply insert source /path/to/bazel-complete.bash in your ~/.bashrc file (under OS X, put it in your ~/.bash_profile file).

For more information, see Getting started.