Installation

For general installation instructions specific to each software version, see the top level wiki page for each project (eg. RTT, KDL, etc) and look for Installation in the left toolbar.

See below for specific additional instructions.

Installing from binaries / package managers

Installing via Macports on Mac OS X

How to build Debian packages

Installing from source

To install from source on *NIX systems such as Linux and Mac OS X, see the installation page specific to your software version (e.g. v1.8 RTT).

To install from source on Windows, see the following wiki pages (also check the forums, a lot of good material is in there also).

Debian Etch installation from public repositories (x86 only!)

The Orocos Real-Time Toolkit and Component Library have been prepared as Debian packages for Debian Etch. The pages

How to build Debian packages

How to re-build Debian packages

contain instructions for building your own packages on other distributions, like Ubuntu.

Copy/paste the following commands, and enter your password when asked (only works in Ubuntu Feisty or later and Debian Etch or later):

wget -q -O - http://www.orocos.org/keys/psoetens.gpg | sudo apt-key add -
sudo wget -q http://www.fmtc.be/debian/sources.list.d/fmtc.list -O /etc/apt/sources.list.d/fmtc.list
These commands install the GPG key and the repository location of the Orocos packages.

Next, for Debian Etch, type:

sudo apt-get update
sudo apt-get install liborocos-rtt-corba-gnulinux1.8-dev
You can install Orocos for additional targets (or versions) by replacing gnulinux1.8 by another target name (or version). All target libraries can be installed at the same time, the -dev header files only for a single target and version at a time.

For your application development, you'll most likely use the Orocos Component library as well:

sudo apt-get install orocos-ocl-gnulinux1.8-dev orocos-ocl-gnulinux1.8-bin
Again, you may install additional targets and/or versions.

We recommend using the pkg-config tool to discover the compilation flags required to compile your application with the RTT or OCL. This is described in the installation manual.

Installing via Macports on Mac OS X

These are instructions to install the latest version of each of RTT, KDL, BFL and OCL, on Mac OS X using Macports.

Macports does not have official ports for these Orocos projects, however, the approach below is the recommended way to load unofficial ports in to Macports. [1]

Installation

These instructions use /opt/myports to hold the Orocos port files. You can substitute any other directory for MYPORTDIR (ie /opt/myports). Instructions are for bash shell - change appropriately for your own shell.

1. Download the Portfile files from this page's Attachments (at bottom of page).

2. Execute the following commands (substituting /opt/myports for the location you wish to store the Orocos port files, and ~/Downloads for the directory you downloaded the portfiles to)

export MYPORTDIR=/opt/myports
export DOWNLOADDIR=~/Downloads
 
mkdir \$MYPORTDIR
cd \$MYPORTDIR
mkdir devel
cd devel
mkdir orocos-rtt orocos-kdl orocos-bfl orocos-ocl
cp \$DOWNLOADDIR/orocos-rtt-Portfile.txt orocos-rtt/Portfile
cp \$DOWNLOADDIR/orocos-kdl-Portfile.txt orocos-kdl/Portfile
cp \$DOWNLOADDIR/orocos-bfl-Portfile.txt orocos-bfl/Portfile
cp \$DOWNLOADDIR/orocos-ocl-Portfile.txt orocos-ocl/Portfile
And for the RTT patch file
cd \$MYPORTDIR/devel
mkdir orocos-rtt/files
cp \$DOWNLOADDIR/rtt-patch-config-check_depend.cmake.diff orocos-rtt/files/patch-config-check_depend.cmake.diff

You should now have a tree that looks like

tree /opt/myports/
/opt/myports/
`-- devel
    |-- orocos-bfl
    |   `-- Portfile
    |-- orocos-kdl
    |   `-- Portfile
    |-- orocos-ocl
    |   `-- Portfile
    `-- orocos-rtt
       |-- Portfile
       `-- files
           `-- patch-config-check_depend.cmake.diff

3. Edit /opt/local/etc/macports/sources.conf with superuser privileges (ie via sudo), and add the follwing line before the rsync:///rsync.macports.org/...' line.

# (substitute your ''MYPORTDIR'' value from above) 
file:///opt/myports

4. Execute these commands to tell Macports about your new ports.

cd \$MYPORTDIR
sudo portindex

5. Now install each port with the following commands (the following commands add the optional CORBA support, via omniORB in Macports, as well as the helloworld and other useful parts of OCL)

sudo port install orocos-rtt +corba
sudo port install orocos-kdl +corba
sudo port install orocos-bfl
sudo port install orocos-ocl +corba+deployment+motion_control+reporting+taskbrowser+helloworld

6. Verify installation by downloading test-macports.xml from this page's Attachments, and then using these commands

deployer-macosx -s /path/to/test-macports.xml
This should succesfully load and start the OCL HelloWorld component within the taskbrowser. You may need to specify the paths to the dynamic libraries, for this to work
export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib
Yes, it is DYLD_FALLBACK_LIBRARY_PATH and not DYLD_LIBRARY_PATH. Search the forum if you want to know why ...

Building your application

To build against MacPorts-installed Orocos, add the following to your environment before CMake'ing your project

export CMAKE_PREFIX_PATH=/opt/local
If you already have CMAKE_PREFIX_PATH set, then append "/opt/local" to your existing entry.

If you use Makefiles or autoconf to build your project, you'll need to tell those build systems to find Orocos headers, libraries and binaries under /opt/local. Instructions are not provided here for that.

To run using MacPorts-installed OROCOS, add the following to your environment

export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib:/opt/local/lib/rtt/macosx/plugins
If you already have DYLD_FALLBACK_LIBRARY_PATH set, then append the above to your existing entry.

Updating an existing installation

(Not yet tested)

  1. Download the new portfiles.
  2. Uninstall each of the old ports

...
sudo port uninstall orocos-rtt
  1. Copy the new portfiles on top of the old ones
  2. Regenerate the port index
  3. Reinstall

Limitations and issues

Current limitations

  • CORBA support assumes omniorb
  • KDL supports the Python plugin for Python 2.5, but not Python 2.6.
  • BFL defaults to boost
  • OCL could use more variants to provide finer control

Issues

  • If when running an Orocos executable, or your own executable linked with Orocos, you get the following error

dyld: Symbol not found: __cg_jpeg_resync_to_restart 
  Referenced from: 
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/\
Frameworks/ImageIO.framework/Versions/A/ImageIO 
  Expected in: /opt/local/lib/libJPEG.dylib 
then ensure you have the DYLD_FALLBACK_LIBRARY_PATH set and not DYLD_LIBRARY_PATH. See [2] for further details.

References

[1] Macports guide with detailed information on the port system.

[2] http://www.nabble.com/Incorrect-libjpeg.dylib-after-installing-ImageMagick-td22625866.html

Original bug report for this and accompanying forum entry

AttachmentSize
orocos-rtt-Portfile.txt1.82 KB
orocos-kdl-Portfile.txt2.13 KB
orocos-bfl-Portfile.txt1.36 KB
orocos-ocl-Portfile.txt2.67 KB
rtt-patch-config-check_depend.cmake_.diff607 bytes
test-macports.xml472 bytes