Other combinations may be possible but are currently untested.
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
The Spread Toolkit, a group communication framework for reliable multicast communication, is a powerful transport layer which is natively supported in RSB. To install Spread, source archives are available after registration for download here. Installation of the Spread Toolkit 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
Checkout RSB and its immediate dependencies from the Subversion repository
“0.7” branch of https://code.cor-lab.org/git/rsc.git
“0.7” branch of https://code.cor-lab.org/git/rsb.git. protocol
“0.7” branch of https://code.cor-lab.org/git/rsb.git. cpp
Build and install the RSB C++ core and its dependencies in the order given below:
Build and install RSC Library
$ cd rsc/build
$ cmake -DCMAKE_INSTALL_PREFIX=$prefix \
..
$ make
$ make install
Install RSB Protocol Definitions
$ cd protocol/build
$ cmake -DCMAKE_INSTALL_PREFIX=$prefix \
..
$ make
$ make install
Note
These protocol definitions are shared across programming languages.
Build and install RSB C++ Core
$ cd core/build
$ cmake -DCMAKE_INSTALL_PREFIX=$prefix \
-DRSC_DIR=$prefix/share/rsc \
..
$ make
$ 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 \
-DRSB_PROTOCOL_DIR=/opt/rsb-prototcol/share/rsb-protocol
..