Ouroboros builds on most POSIX compliant systems. Below you will find instructions for GNU/Linux, FreeBSD and OS X. On Windows 10, you can build Ouroboros using the Linux Subsystem for Windows.
You need git to clone the repository. To build Ouroboros, you need cmake, google protocol buffers installed in addition to a C compiler (gcc or clang) and make.
Optionally, you can also install libgcrypt, libssl, fuse, dnsutils and swig.
On GNU/Linux you will need either libgcrypt (≥ 1.7.0) or libssl if your glibc is older than version 2.25.
On OS X, you will need homebrew. Disable System Integrity Protection during the installation and removal of Ouroboros.
$ apt-get install git protobuf-c-compiler cmake
$ apt-get install libgcrypt20-dev libssl-dev libfuse-dev dnsutils swig cmake-curses-gui
$ pacman -S git protobuf-c cmake
$ pacman -S libgcrypt openssl fuse dnsutils swig
$ pkg install git protobuf-c cmake
$ pkg install libgcrypt openssl fusefs-libs bind-tools swig
Mac OS X Sierra / High Sierra:
$ brew install git protobuf-c cmake
$ brew install libgcrypt openssl swig
For ArchLinux users, the easiest way to try Ouroboros is via the Arch User Repository.
You can clone the repository over http or https or git:
$ git clone http://ouroboros.ilabt.imec.be/git/ouroboros
$ git clone https://ouroboros.ilabt.imec.be/git/ouroboros
$ git clone git://ouroboros.ilabt.imec.be/ouroboros
If you update your repository, make sure to retrieve the tags from the repository before building (they are used for versioning):
$ git fetch <remote> --tags
To be sure your tags are always up to date, you can configure git to always get them:
$ git config remote.origin.tagopt --tags
Be sure to re-run cmake or run ccmake to update the configuration so the correct version is set after a new tag is pulled.
We recommend creating a build directory:
$ mkdir build && cd build
Run cmake providing the path to where you cloned the Ouroboros repository. Assuming you created the build directory inside the repository directory, do:
$ cmake ..
Build and install Ouroboros:
$ sudo make install
Ouroboros can be configured by providing parameters to the cmake command:
$ cmake -D<option>=<value> ..
Alternatively, after running cmake and before installation, run ccmake to configure Ouroboros:
$ ccmake .
For a list of all options, see the documentation.
To uninstall Ouroboros, simply execute the following command from your build directory:
$ sudo make uninstall