Installation » History » Version 30

J. Moringen, 06/28/2011 05:02 PM
fixed last edit

1 1 S. Wrede
h1. Installation
2 1 S. Wrede
3 21 J. Wienke
h2. C++
4 1 S. Wrede
5 21 J. Wienke
h3. External Dependencies
6 21 J. Wienke
7 6 S. Wrede
* Boost (mostly dependencies of RSC library), in particular 
8 6 S. Wrede
** boost::uuid (can be installed from GAR installer via contrib/boost.uuid, maverick: libboost1.42-dev)
9 6 S. Wrede
** libboost-thread-dev
10 1 S. Wrede
** libboost-filesystem-dev
11 18 J. Wienke
** libboost-signals-dev
12 1 S. Wrede
* Google Protocol Buffers (ubuntu lucid package is ok, can also be installed from GAR installer via contrib/protobuf), in particular
13 1 S. Wrede
** libprotobuf-dev
14 1 S. Wrede
** protobuf-compiler
15 21 J. Wienke
* Optional:
16 21 J. Wienke
** Doxygen for documentation generation (ubuntu package)
17 21 J. Wienke
** lcov for coverage report (ubuntu package)
18 1 S. Wrede
19 6 S. Wrede
Up to this step, in Maverick installing the dependencies should be as simple as:
20 6 S. Wrede
<pre>
21 6 S. Wrede
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
22 6 S. Wrede
</pre>
23 1 S. Wrede
24 6 S. Wrede
* Spread Toolkit for Spread multicast transport extension (lucid ubuntu package does *not* work, due to outdated version 3) 
25 6 S. Wrede
** Can be installed through GAR installer via contrib/spread or from source
26 1 S. Wrede
27 28 J. Moringen
h3. Installation of RSC, RSBProtocol and RSB
28 1 S. Wrede
29 28 J. Moringen
* Check RSB and its immediate dependencies from the Subversion repository:
30 27 R. Haschke
** RSC: https://code.cor-lab.org/svn/rsc/trunk/rsc
31 1 S. Wrede
** RSB Protocol: https://code.cor-lab.org/svn/rsb/trunk/protocol
32 1 S. Wrede
** RSB C++: https://code.cor-lab.org/svn/rsb/trunk/cpp/core
33 28 J. Moringen
* CMake is required to configure the projects.
34 28 J. Moringen
* Build and install the RSB C++ core and its dependencies (in the order given below):
35 28 J. Moringen
*# Build and install RSC Library:
36 1 S. Wrede
<pre>
37 28 J. Moringen
cd rsc/build && cmake .. -DCMAKE_INSTALL_PREFIX=$prefix && make && make install
38 28 J. Moringen
</pre>
39 28 J. Moringen
*# Install RSB Protocol Definitions
40 28 J. Moringen
<pre>
41 28 J. Moringen
cd protocol/build && cmake .. -DCMAKE_INSTALL_PREFIX=$prefix && make && make install
42 28 J. Moringen
</pre>
43 28 J. Moringen
_Note: these protocol definitions are shared across programming languages._
44 28 J. Moringen
*# Build and install RSB C++ Core
45 28 J. Moringen
<pre>
46 30 J. Moringen
cd core/build && cmake .. -DCMAKE_INSTALL_PREFIX=$prefix -DRSC_DIR=$prefix/share/RSC && make && make install
47 1 S. Wrede
</pre>
48 1 S. Wrede
49 21 J. Wienke
h2. Python
50 1 S. Wrede
51 21 J. Wienke
h3. External Dependencies
52 1 S. Wrede
53 1 S. Wrede
* install python setuptools and python-dev
54 21 J. Wienke
* 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!)
55 21 J. Wienke
* python-protobuf (via ubuntu package python-protobuf or protobuf sources)
56 1 S. Wrede
57 21 J. Wienke
h3. Installation
58 21 J. Wienke
59 21 J. Wienke
* get sources
60 21 J. Wienke
* edit setup.cfg and replace protocolroot with the path to the RSBPRobotocol files (e.g. protocolroot=${prefix}/share/rsbprotocol)
61 21 J. Wienke
62 1 S. Wrede
<pre>
63 21 J. Wienke
export PYTHONPATH=$prefix/lib/python2.6/site-packages
64 1 S. Wrede
python setup.py build
65 21 J. Wienke
python setup.py install --prefix=$prefix
66 1 S. Wrede
</pre>
67 12 S. Wrede
68 21 J. Wienke
Afterwards, @import rsb@ should be possible in a python shell.
69 14 S. Wrede
70 21 J. Wienke
h2. Java
71 2 J. Wienke
72 21 J. Wienke
h3. External Dependencies
73 21 J. Wienke
74 21 J. Wienke
* libprotobuf-java
75 21 J. Wienke
* ant
76 21 J. Wienke
* Optional:
77 21 J. Wienke
** javadoc
78 21 J. Wienke
79 21 J. Wienke
h3. Installation
80 21 J. Wienke
81 1 S. Wrede
* Download src from SVN (see front page)
82 1 S. Wrede
* cd src and edit build.properties according to your installation
83 21 J. Wienke
* @ant install@ installs jars to prefix of your choice, e.g., ${prefix}/share/java (defined via property)
84 1 S. Wrede
* for rsb-xml you also need to install XOM (included in RSBJava src or via ubuntu)
85 22 J. Moringen
86 23 J. Moringen
h2. Common Lisp
87 1 S. Wrede
88 23 J. Moringen
h3. External Dependencies
89 23 J. Moringen
90 22 J. Moringen
| *System*           | *Required*                | *Obtainable From*                     |
91 22 J. Moringen
| alexandria         | yes                       | "Quicklisp":http://www.quicklisp.org/ |
92 22 J. Moringen
| split-sequence     | yes                       | Quicklisp                             |
93 22 J. Moringen
| iterate            | yes                       | Quicklisp                             |
94 22 J. Moringen
| metabang-bind      | yes                       | Quicklisp                             |
95 22 J. Moringen
| bordeaux-threads   | yes                       | Quicklisp                             |
96 22 J. Moringen
| closer-mop         | yes                       | Quicklisp                             |
97 22 J. Moringen
| log5               | yes                       | Quicklisp                             |
98 22 J. Moringen
| puri               | yes                       | Quicklisp                             |
99 22 J. Moringen
| uuid               | yes                       | Quicklisp                             |
100 26 J. Moringen
| local-time         | yes                       | Quicklisp                             |
101 22 J. Moringen
| cl-hooks           | yes                       | https://launchpad.net/cl-hooks        |
102 22 J. Moringen
| cl-dynamic-classes | yes                       | "RSB Repository":https://code.cor-lab.org/svn/rsb/trunk/cl/cl-dynamic-classes/ |
103 22 J. Moringen
| cxml-stp           | for XML event data        | Quicklisp                             |
104 22 J. Moringen
| xpath              | for XPath event filtering | Quicklisp                             |
105 22 J. Moringen
| cl-protobuf        | for Spread transport      | "RSB Repository":https://code.cor-lab.org/svn/rsb/trunk/cl/cl-protobuf/ |
106 1 S. Wrede
| cl-spread          | for Spread transport      | "RSB Repository":https://code.cor-lab.org/svn/rsb/trunk/cl/cl-spread/ |
107 24 J. Moringen
| -- libspread       | for Spread transport      | See C++ installation instructions     |
108 23 J. Moringen
109 23 J. Moringen
h3. Installation
110 25 J. Moringen
111 25 J. Moringen
# Download systems from Subversion repository:
112 25 J. Moringen
#* @cl-rsb@: @svn export https://code.cor-lab.org/svn/rsb/trunk/cl/cl-rsb/@
113 25 J. Moringen
#* @cl-dynamic-classes@: @svn export https://code.cor-lab.org/svn/rsb/trunk/cl/cl-dynamic-classes/@
114 25 J. Moringen
#* @cl-protobuf@: @svn export https://code.cor-lab.org/svn/rsb/trunk/cl/cl-protobuf/@
115 25 J. Moringen
#* @cl-spread@: @svn export https://code.cor-lab.org/svn/rsb/trunk/cl/cl-spread/@
116 25 J. Moringen
# Download other required systems:
117 25 J. Moringen
#* @cl-hooks@: @bzr branch lp:cl-hooks@
118 25 J. Moringen
# Load @cl-rsb@ with Quicklisp to pull in remaining dependencies:
119 25 J. Moringen
  @(ql:quickload :cl-rsb)@