aboutsummaryrefslogtreecommitdiffhomepage
path: root/site/versions/master/docs/install-compile-source.md
blob: 0291fe6d3119bb5c088d9c317e04565729650ba3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
---
layout: documentation
title: Compile Bazel from Source
---

# <a name="compiling-from-source"></a>Compile Bazel from source

The standard way of compiling a release version of Bazel from source
is to use a distribution archive. Download `bazel-<VERSION>-dist.zip`
from
the [release page](https://github.com/bazelbuild/bazel/releases) for
the desired version. We recommend to also verify the signature made by our
[release key](https://bazel.build/bazel-release.pub.gpg) 48457EE0.

Unzip the archive and call `bash ./compile.sh`; this will create a
bazel binary in `output/bazel`. This binary is self-contained,
so it can be copied to a directory on the PATH (e.g.,
`/usr/local/bin`) or used in-place.

##<a name="compiling-from-source-issues"></a>Known issues when compiling from source

**On Windows:**

* version 0.4.4 and below: `compile.sh` may fail right after start with an error
  like this:

    ```
    File not found - *.jar
    no error prone jar
    ```

    Workaround is to run this (and add it to your `~/.bashrc`):

    ```
    export PATH="/bin:/usr/bin:$PATH"
    ```

* version 0.4.3 and below: `compile.sh` may fail fairly early with many Java
  compilation errors. The errors look similar to:

    ```
    C:\...\bazel_VR1HFY7x\src\com\google\devtools\build\lib\remote\ExecuteServiceGrpc.java:11: error: package io.grpc.stub does not exist
    import static io.grpc.stub.ServerCalls.asyncUnaryCall;
                              ^
    ```

    This is caused by a bug in one of the bootstrap scripts
    (`scripts/bootstrap/compile.sh`). Manually apply this one-line fix if you want
    to build Bazel purely from source (without using an existing Bazel binary):
    [5402993a5e9065984a42eca2132ec56ca3aa456f]( https://github.com/bazelbuild/bazel/commit/5402993a5e9065984a42eca2132ec56ca3aa456f).

* version 0.3.2 and below:
  [github issue #1919](https://github.com/bazelbuild/bazel/issues/1919)