Download and Install
Quick Start

Driver Interfaces


Full Software Listings

Dev Guide

Users Logo
Mailing lists



Installing optional dependencies on Debian Linux

Reviewed for release 2.10.0.

Ice from source

Even though there is a Debian package for Ice, sometimes you may want to build Ice from source. Some of the possible reasons:

  • you need an Ice version different from the one in the package (newer or older)
  • you want to install Ice some place other than the standard directory
  • you want to apply a patch to the source.

These instructions have been updated to Ice-3.3. They may need to be modified for earlier versions.

Following the instructions below will install Ice to the default location /opt/Ice-[VERSION]. We recommend doing this but, if you have a good reason, you can change it by editing the file config/Make.rules.

Download source from download page.

  • First, install Ice dependencies. Debian packages for all required libraries exist.
    # apt-get install libdb4.6++-dev libbz2-dev bzip2 libssl-dev libreadline5-dev libexpat1-dev mcpp
  • In some cases the compiler complains about not being able to link to ("cannot find -lmcpp"). You can help it by creating an extra symbolic link.
    # ln -s /usr/lib/ /usr/lib/
  • Unpack the source archive (replace [VERSION] with the version of Ice you are trying to install.)
    $ tar -xzf Ice-[VERSION].tar.gz
    $ cd Ice-[VERSION]/cpp
  • Ice installer is particular about the name of the compiler. If you are using a version of gcc, make sure the names are standard: gcc/g++ ! If you skip this step you'll see a cryptic message about mkshlib not defined.
    $ export CC=gcc; export CXX=g++
  • Compile and install
    $ make
    $ make test (optional, requires python)
    # make install
    # ldconfig
On some installations you can get an error "c++ does not exist". Ice build system internally uses c++ as the name of the compiler when gcc was specified. Make sure ++ exists in the pah (e.g. with 'which c++'). If it does not exist, create a symbolic link manually.
# ln -s /usr/bin/g++ /usr/bin/c++
On some installations you can get an error "mcpp does not exist". Make sure mcpp package was installed. Then try creating the following symbolic link.
# ln -s /usr/lib/ /usr/lib/

Make sure that the Ice binaries and executables are in the path. You may want to add this snippet to your ~/.bashrc file (don't forget to replace [VERSION]).

export ICE_HOME=/opt/Ice-[VERSION]
export PATH=$ICE_HOME/bin:$PATH

NOTE: Software below is strictly optional. To ensure that Orca knows about these new packages you will have to re-run cmake and make in Orca once the new packages have been installed. You will also have to remove the cmake cache before rerunning cmake.

$ cd [ORCA_SRC]
$ rm CMakeCache.txt
$ cmake .
$ make
# make install


Doxygen is a tool to produce documentation from source code. It can be easily installed as a package. The standard version can build all Orca documentation except for the Slice interfaces and objects. You may also want to install the graphviz package which contains the dot utility used by doxygen to generate diagrams.

# apt-get install doxygen graphviz


Qt is a cross-platform GUI framework. Minimum version required 4.2.0 (latest tested: 4.3.4)

# apt-get install libqt4-dev qt4-doc qt4-dev-tools


Some components require pkg-config utility to check for dependencies

# apt-get install pkg-config

Player/Stage using Debian package

Player/Stage are now part of Debian Testing. You can install the packages like that:

# apt-get install robot-player stage libplayercore-dev libplayerc++-dev

This will install the libraries in /usr/lib, the executables in /usr/bin and the configuration files in /usr/share/player and /usr/share/stage.

For a quick start:

$ robot-player /usr/share/stage/worlds/simple.cfg

In case of a problem see our short section on Troubleshooting Player or consult Player mailing lists.


Gazebo is part of the Player/Stage project. It is an open-source 3D multiple robot simulator with dynamics. These notes were tested with Player 2.0.3, Gazebo 0.7.0, and Open Dynamics Engine 0.7. Note that Gazebo's documentation is not very well maintained at the moment and it has a number of bugs which are not always trivial to fix. Please see the Gazebo mailing list and Gazebo manual pages for more help.

Make sure that you have installed Player/Stage first (Player/Stage from source or Player/Stage using Debian package).

Start with Gazebo/ODE dependencies.

# apt-get install swig python-wxtools libxml2-dev libglu1-mesa-dev libglut3-dev autoconf automake1.9 python2.4-dev libtool 

Note that there may be a few other dependencies which aren't included here.

You will also have to download and compile Open Dynamics Engine which is Gazebo's physics engine. It is recommended to use the latest release (tested with 0.8). Since Gazebo expects to be in a different location than the standard install, a symbolic link will need to be created.

$ unzip ode-src-<versoin>.zip
$ cd ode-<version>
$ sh (if you are using a snapshot version)
$ ./configure --enable-double-precision --enable-release --with-trimesh=opcode
$ make
# make install
# ln -s /usr/local/lib/ /usr/lib/

There are a few optional components for Gazebo. It is recommended to install these, in order to get full Gazebo functionality.

# apt-get install lib3ds-dev proj libgdal1-1.3.1-dev

Get the latest release of Gazebo (tested with 0.7.0).

Tell gazebo where to find player stuff.

$ export PKG_CONFIG_PATH=/opt/player-[VERSION]/lib/pkgconfig/:$PKG_CONFIG_PATH

Run automake tools (automake version>=1.6, autconf version>=2.53), compile, and install. It is recommended to install Gazebo in the /opt directory.

$ tar zxvf gazebo-<version>.tar.gz
$ cd gazebo-<version>
$ ./bootstrap
$ ./configure --prefix=/opt/gazebo-<version>
$ make
# make install

Append the following to your .bashrc file

export GAZEBO_HOME=/opt/gazebo-<version>
export PYTHONPATH=$GAZEBO_HOME/lib/python2.4/site-packages/:$PYTHONPATH
export CPATH=$GAZEBO_HOME/include:$CPATH

For a quick start:

$ wxgazebo [GAZEBO_SRC]/worlds/

If you get an error, please proceed to Using Orca with Player/Gazebo simulator. You might also want to consult the Gazebo mailing lists and manuals for additional help.

Player/Stage from source

Player/Stage is an open-source device server and simulator. These notes were tested with Player 2.0.3 and Stage 2.0.3.

Start with Player/Stage dependencies.

# apt-get install libglib2.0-dev libgtk2.0-dev libltdl3-dev libjpeg-dev

Download and unpack player and stage distros. We recommend installing both player and stage to some place other than the default /usr/local/ because the different versions quickly become unmanagable.

$ cd player-[VERSION]
$ ./configure --prefix=/opt/player-[VERSION]
$ make
# make install

If you get an error like this

make[3]: *** No rule to make target `../libplayercore/', needed by `'.  Stop.

try compiling one job a time:

$ make -j1

Now compile Stage. Tell pkgconfig how to find player stuff.

$ export PKG_CONFIG_PATH=/opt/player-[VERSION]/lib/pkgconfig/:$PKG_CONFIG_PATH
$ cd stage-[VERSION]
$ ./configure --prefix=/opt/stage-[VERSION]
$ make
# make install

Append the following to your .bashrc file

export PLAYER_HOME=/opt/player-[VERSION]

export STAGE_HOME=/opt/stage-[VERSION]

For a quick start:

$ player [STAGE_SRC]/worlds/simple.cfg

Troubleshooting Player

If you experience a crash like this:

err: unable to open color database /usr/X11R6/lib/X11/rgb.txt : No such file or directory (stage.c stg_lookup_color)
Segmentation fault (core dumped)

You can solve it adding a symbolic link to your rgb.txt file location, for example

# ln -s /etc/X11/rgb.txt /usr/X11R6/lib/X11/rgb.txt

Webmaster: Tobias Kaupp (tobasco at

Generated for Orca Robotics by  doxygen 1.4.5