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`.