InstallationC++ » History » Version 6

Version 5 (J. Wienke, 08/09/2011 12:03 PM) → Version 6/17 (J. Wienke, 08/10/2011 02:36 PM)

h1. Installation of C++ Implementation

h2. External Dependencies

* "Boost":http://www.boost.org/ >= 1.38 (for hardy available Boost (mostly dependencies of RSC library), in the gar-installer, 1.34.1 untested)
* "Boost.UUID":http://www.boost.org/doc/libs/1_42_0/libs/uuid/uuid.html (header-only, officially included in Boost since 1.42, headers
particular
** boost::uuid (can be installed
from this version can be used with all older versions of boost, gar-installer package available) GAR installer via contrib/boost.uuid, maverick: libboost1.42-dev)
* "Google Protocol Buffers":http://code.google.com/p/protobuf/ ** libboost-thread-dev
** Ubuntu Lucid packages are ok (libprotobuf-dev, protobuf-compiler) libboost-filesystem-dev
** libboost-signals-dev
* Google Protocol Buffers (ubuntu lucid package is ok,
can also be installed from GAR installer via contrib/protobuf contrib/protobuf), in particular
** libprotobuf-dev
** protobuf-compiler
* "Spread Toolkit":http://spread.org/ >= 4.0 Optional:
** Ubuntu Lucid Doxygen for documentation generation (ubuntu package)
** lcov and gcovr for coverage report (ubuntu package, gcovr from svn trunk)

Up to this step, in Maverick installing the dependencies should be as simple as:
<pre>
sudo apt-get install libprotobuf-java libprotobuf-dev protobuf-compiler libboost-thread-dev libboost-filesystem-dev libboost-signals-dev libboost-program-options-dev libboost-regex-dev libboost1.42-dev
</pre>

* Spread Toolkit for Spread multicast transport extension (lucid ubuntu
package does *not* work, due to outdated version 3
3)
** Can be installed through GAR installer via contrib/spread or from source
* "CMake":http://www.cmake.org/ (tested with 2.8)
* optional:
** "Doxygen":http://www.doxygen.nl/ for API generation
** "Lcov":http://ltp.sourceforge.net/coverage/lcov.php for code coverage analysis
** "cppcheck":http://sourceforge.net/apps/mediawiki/cppcheck/index.php?title=Main_Page for static code analysis

h2. Supported Operating Systems and Compilers

* Linux (GCC 4.x)
* Windows (MS Visual Studio 9 2008)

Other combination may be possible but are currently untested.


h2. Installation of RSC, RSBProtocol and RSB

* Checkout RSB and its immediate dependencies from the Subversion repository:
** RSC: https://code.cor-lab.org/svn/rsc/trunk/rsc
** RSB Protocol: https://code.cor-lab.org/svn/rsb/trunk/protocol
** RSB C++: https://code.cor-lab.org/svn/rsb/trunk/cpp/core
* CMake is required to configure the projects.
* Build and install the RSB C++ core and its dependencies (in the order given below):
*# Build and install RSC Library:
<pre>
cd rsc/build && cmake .. -DCMAKE_INSTALL_PREFIX=$prefix && make && make install
</pre>
*# Install RSB Protocol Definitions
<pre>
cd protocol/build && cmake .. -DCMAKE_INSTALL_PREFIX=$prefix && make && make install
</pre>
_Note: these protocol definitions are shared across programming languages._
*# Build and install RSB C++ Core
<pre>
cd core/build && cmake .. -DCMAKE_INSTALL_PREFIX=$prefix -DRSC_DIR=$prefix/share/RSC && make && make install
</pre>