Installing the C++ Implementation of RSB

Prerequisites

Supported Operating Systems and Compilers

  • Linux (GCC 4.x)
  • MacOS (GCC 4.x, LLVM/clang 3.1)
  • Windows (MS Visual Studio 9 2008)
  • Windows (MS Visual Studio 10 20??)

Other combinations may be possible but are currently untested.

Required Dependencies

  • Boost, Version 1.38 or newer
  • Boost.UUID
    • Header-only library
    • Included in Boost since version 1.42
    • Headers from this version can be used with all older versions of Boost
  • Google Protocol Buffers
    • Ubuntu GNU/Linux (Lucid) packages (libprotobuf-dev, protobuf-compiler) are ok
  • Spread, Version 4.0 or newer
    • The Ubuntu GNU/Linux (Lucid) package does not work (since it contains the outdated version 3)
  • CMake, Version 2.8 or newer

Optional Dependencies

Building without these is possible, but some features will be missing.

  • Doxygen for generation of API documentation
  • Lcov for code coverage analysis
  • cppcheck for static code analysis

Installation of Dependencies on Debian-based Systems

$ sudo apt-get install libprotobuf-dev protobuf-compiler build-essential libboost-dev

Installation of Dependencies on MacOS using Homebrew

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

Installation of the Spread Toolkit

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

Installation of RSC, RSBProtocol and RSB

  1. Checkout RSB and its immediate dependencies from the Subversion repository

    RSC

    “0.7” branch of https://code.cor-lab.org/git/rsc.git

    RSB Protocol

    “0.7” branch of https://code.cor-lab.org/git/rsb.git. protocol

    RSB C++

    “0.7” branch of https://code.cor-lab.org/git/rsb.git. cpp

  2. Build and install the RSB C++ core and its dependencies in the order given below:

    1. Build and install RSC Library

      $ cd rsc/build
      $ cmake -DCMAKE_INSTALL_PREFIX=$prefix \
              ..
      $ make
      $ make install
      
    2. Install RSB Protocol Definitions

      $ cd protocol/build
      $ cmake -DCMAKE_INSTALL_PREFIX=$prefix \
              ..
      $ make
      $ make install
      

      Note

      These protocol definitions are shared across programming languages.

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

Table Of Contents

Related Documentation

This Page