Installation » History » Version 31

Version 30 (J. Moringen, 06/28/2011 05:02 PM) → Version 31/41 (S. Wrede, 06/28/2011 09:19 PM)

h1. Installation

* [[Installation/C++]]

h2. C++

h3. External Dependencies

* Boost (mostly dependencies of RSC library), in particular
** boost::uuid (can be installed from GAR installer via contrib/boost.uuid, maverick: libboost1.42-dev)
** libboost-thread-dev
** libboost-filesystem-dev
** libboost-signals-dev
* Google Protocol Buffers (ubuntu lucid package is ok, can also be installed from GAR installer via contrib/protobuf), in particular
** libprotobuf-dev
** protobuf-compiler
* Optional:
** Doxygen for documentation generation (ubuntu package)
** lcov for coverage report (ubuntu package)

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)
** Can be installed through GAR installer via contrib/spread or from source

h3. Installation of RSC, RSBProtocol and RSB

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

h2. Python

h3. External Dependencies

* install python setuptools and python-dev
* spread-python (e.g. via GAR installer, sources can be downloaded here: http://www.spread.org/files/SpreadModule-1.5spread4.tgz, the version automatically installed by setuptools is NOT working!)
* python-protobuf (via ubuntu package python-protobuf or protobuf sources)

h3. Installation

* get sources
* edit setup.cfg and replace protocolroot with the path to the RSBPRobotocol files (e.g. protocolroot=${prefix}/share/rsbprotocol)

<pre>
export PYTHONPATH=$prefix/lib/python2.6/site-packages
python setup.py build
python setup.py install --prefix=$prefix
</pre>

Afterwards, @import rsb@ should be possible in a python shell.

h2. Java

h3. External Dependencies

* libprotobuf-java
* ant
* Optional:
** javadoc

h3. Installation

* Download src from SVN (see front page)
* cd src and edit build.properties according to your installation
* @ant install@ installs jars to prefix of your choice, e.g., ${prefix}/share/java (defined via property)
* for rsb-xml you also need to install XOM (included in RSBJava src or via ubuntu)

h2. Common Lisp

h3. External Dependencies

| *System* | *Required* | *Obtainable From* |
| alexandria | yes | "Quicklisp":http://www.quicklisp.org/ |
| split-sequence | yes | Quicklisp |
| iterate | yes | Quicklisp |
| metabang-bind | yes | Quicklisp |
| bordeaux-threads | yes | Quicklisp |
| closer-mop | yes | Quicklisp |
| log5 | yes | Quicklisp |
| puri | yes | Quicklisp |
| uuid | yes | Quicklisp |
| local-time | yes | Quicklisp |
| cl-hooks | yes | https://launchpad.net/cl-hooks |
| cl-dynamic-classes | yes | "RSB Repository":https://code.cor-lab.org/svn/rsb/trunk/cl/cl-dynamic-classes/ |
| cxml-stp | for XML event data | Quicklisp |
| xpath | for XPath event filtering | Quicklisp |
| cl-protobuf | for Spread transport | "RSB Repository":https://code.cor-lab.org/svn/rsb/trunk/cl/cl-protobuf/ |
| cl-spread | for Spread transport | "RSB Repository":https://code.cor-lab.org/svn/rsb/trunk/cl/cl-spread/ |
| -- libspread | for Spread transport | See C++ installation instructions |

h3. Installation

# Download systems from Subversion repository:
#* @cl-rsb@: @svn export https://code.cor-lab.org/svn/rsb/trunk/cl/cl-rsb/@
#* @cl-dynamic-classes@: @svn export https://code.cor-lab.org/svn/rsb/trunk/cl/cl-dynamic-classes/@
#* @cl-protobuf@: @svn export https://code.cor-lab.org/svn/rsb/trunk/cl/cl-protobuf/@
#* @cl-spread@: @svn export https://code.cor-lab.org/svn/rsb/trunk/cl/cl-spread/@
# Download other required systems:
#* @cl-hooks@: @bzr branch lp:cl-hooks@
# Load @cl-rsb@ with Quicklisp to pull in remaining dependencies:
@(ql:quickload :cl-rsb)@