roughtime.googlesource.com/roughtime.git@v0.0.0-20201210012726-dd529367052d/BUILDING.md (about)

     1  # Building Roughtime
     2  
     3  ## C++
     4  
     5  The Roughtime C++ code is built using [Bazel](https://www.bazel.io/). Everything should build on Linux and macOS, `simple_client` should build.
     6  
     7  In order to build, install Bazel and run `bazel build ... && bazel test ...`. That should download and build BoringSSL, gTest and Protocol Buffers automatically.
     8  
     9  After doing that you should be able to play with `simple_client` by running `./bazel-bin/simple_client roughtime-servers.json`.
    10  
    11  ### Known Issues
    12  
    13  If, on Arch Linux, Bazel complains about the version of Java but you have Java 8 installed, you may need to export `JAVA_HOME=/usr/lib/jvm/java-8-openjdk`.
    14  
    15  If you see an error about `_FORTIFY_SOURCE requires compiling with optimization`, pass `--copt=-U_FORTIFY_SOURCE` to Bazel.
    16  
    17  ## Go
    18  
    19  In the `src` directory of your [workspace](https://golang.org/doc/code.html), do `git clone https://roughtime.googlesource.com/roughtime roughtime.googlesource.com`. Then, `go build` will work as usual in the subdirectories of `roughtime.googlesource.com/go`.
    20  
    21  For example, in `client`, run `go build` and then `./client --servers-file=../../roughtime-servers.json --chain-file=$HOME/roughtime-chain.json`.