Installation » History » Version 31

S. Wrede, 06/28/2011 09:19 PM

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