Building Roughtime

C++

The Roughtime C++ code is built using Bazel. Everything should build on Linux and macOS, simple_client should build.

In order to build, install Bazel and run bazel build ... && bazel test .... That should download and build BoringSSL, gTest and Protocol Buffers automatically.

After doing that you should be able to play with simple_client by running ./bazel-bin/simple_client roughtime-servers.json.

Known Issues

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.

If you see an error about _FORTIFY_SOURCE requires compiling with optimization, pass --copt=-U_FORTIFY_SOURCE to Bazel.

Go

In the src directory of your workspace, 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.

For example, in client, run go build and then ./client --servers-file=../../roughtime-servers.json --chain-file=$HOME/roughtime-chain.json.