InstallationC++ » History » Version 14

Version 13 (J. Moringen, 03/12/2012 12:59 PM) → Version 14/17 (S. Wrede, 01/30/2013 06:38 PM)

h1. Installation of C++ Implementation

*The information on this page has been superseded by the "RSB Manual":http://docs.cor-lab.org/rsb-manual/trunk/html/install-cpp.*

{{>toc}}

h2. Prerequisites

h3. Supported Operating Systems and Compilers

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

Other combinations may be possible but are currently untested.

h3. Required Dependencies

* "Boost":http://www.boost.org/ >= 1.38 (for hardy available 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 from this version can be used with all older versions of boost, gar-installer package available)
* "Google Protocol Buffers":http://code.google.com/p/protobuf/
** Ubuntu Lucid packages are ok (libprotobuf-dev, protobuf-compiler)
** can also be installed from GAR installer via contrib/protobuf
* "Spread Toolkit":http://spread.org/ >= 4.0
** Ubuntu Lucid package does *not* work, due to outdated version 3
** Can be installed through GAR installer via contrib/spread or from source
* "CMake":http://www.cmake.org/ (tested with 2.8)

h3. Optional Dependencies

_The C++ implementation can be built without these, but some features will be missing._

* "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

h3. Installation of Dependencies on Debian-based Systems

Example for Ubuntu 10.04:
<pre>
$ sudo apt-get install libprotobuf-dev protobuf-compiler build-essential libboost-dev
</pre>

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>

h1. Windows Notes

* Precondition: GIT client must be installed, e.g. GIT Shell, CMake also required
* Simplest installation: installation into a single SDK prefix recommendable
* Boost Pro installer (only 32-bit, 64-bit installer currently broken)
** select matching visual studio version
** dynamic plus threading with and witout debug symbols
* Spread install (pretty much standard)
** Spread 4.1 (using the visual studio solution)
** Only libspread required and the daemon exectuable
** Manual installation required (copy dlls and excecs to bin folder of prefix, lib to libs, header to includes)
* Protocol buffers
** Install as described in the README which can be found in the windows sub-folder of the package
* RSX as described above
** cmake generates Visual Studio solutions
** Install from visual studio should work
* nmake is probably also possible but has not been fully tested