Other combinations may be possible but are currently untested.
Required Dependencies
Optional Dependencies (building without these is possible, but some features will be missing)
$ sudo apt-get install libprotobuf-dev protobuf-compiler build-essential libboost-dev
For installing RSB and its dependencies from source on Darwin, we recommend to use Homebrew, an easy-to-use package manager for MacOS.
$ brew install cmake boost protobuf
Spread, is a powerful transport layer which is natively supported in RSB. To install Spread, source archives are available after registration for download http://www.spread.org/download/spread-src-4.1.0.tar.gz. Installation of Spread is straightforward on MacOS and Linux as it has no external dependencies and comes with a standard configuration script.
Note
In the following sections, prefix specifies the target directory of the installation.
$ tar xzf spread-src-4.1.0.tar.gz
$ cd spread-src-4.1.0
$ ./configure --prefix=$prefix
$ make
$ make install
Clone RSB and its immediate dependencies from the git repository
“0.11” branch of https://code.cor-lab.org/git/rsc.git
“0.11” branch of https://code.cor-lab.org/git/rsb.git.protocol
“0.11” branch of https://code.cor-lab.org/git/rsb.git.cpp
“0.11” branch of https://code.cor-lab.org/git/rsb.git.spread-cpp
Build and install the C++ implementation of RSB and its dependencies in the order given below:
Build and install RSC Library
$ cd rsc
$ mkdir -p build && cd build
$ cmake -DCMAKE_INSTALL_PREFIX=PREFIX ..
$ make install
Install RSB Protocol Definitions
$ cd rsb.git.protocol
$ mkdir -p build && cd build
$ cmake -DCMAKE_INSTALL_PREFIX=PREFIX ..
$ make install
Note
These protocol definitions are shared across programming languages.
Build and install the C++ implementation of RSB
$ cd rsb.git.cpp
$ mkdir -p build && cd build
$ cmake -DCMAKE_INSTALL_PREFIX=$prefix ..
$ make install
Optionally, build and install the C++ Spread plugin of RSB
$ cd rsb.git.spread-cpp
$ mkdir -p build && cd build
$ cmake -DCMAKE_INSTALL_PREFIX=$prefix ..
$ make install
Important
The commands above only work, if all projects are installed into a common prefix (i.e. PREFIX). Otherwise, locations of required dependencies have to be specified explicitly. For example:
$ cmake -DCMAKE_INSTALL_PREFIX=/opt/rsb \
-DRSC_DIR=/opt/rsc/share/rsc \
-DRSBProtocol_DIR=/opt/rsb-prototcol/share/rsb-protocol \
..