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