INTRODUCTION
Overview
Download and Install
Quick Start
Documentation
Publications

NONFRAMEWORK CODE
Driver Interfaces
Drivers
Libraries
Utilities

FRAMEWORK CODE
Interfaces
Components
Libraries
Utilities

Full Software Listings

DEVELOPER
Tutorials
Examples
Dev Guide
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

Installing optional dependencies on Debian Linux

Note:
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 libmcpp.so ("cannot find -lmcpp"). You can help it by creating an extra symbolic link.
    # ln -s /usr/lib/libmcpp.so.0.2.0 /usr/lib/libmcpp.so
    
  • 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
    
Note:
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/libmcpp.so.0 /usr/lib/libmcpp.so

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
export LD_LIBRARY_PATH=$ICE_HOME/lib:$LD_LIBRARY_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

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

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

PkgConfig

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

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 libode.so 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 autogen.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/libode.so /usr/lib/libode.so

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 PATH=$GAZEBO_HOME/bin:$PATH
export LD_LIBRARY_PATH=$GAZEBO_HOME/lib:$LD_LIBRARY_PATH
export PYTHONPATH=$GAZEBO_HOME/lib/python2.4/site-packages/:$PYTHONPATH
export CPATH=$GAZEBO_HOME/include:$CPATH

For a quick start:

$ wxgazebo [GAZEBO_SRC]/worlds/example.world

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/libplayererror.la', needed by `libplayercore.la'.  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 PATH=$PLAYER_HOME/bin:$PATH
export LD_LIBRARY_PATH=$PLAYER_HOME/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=$PLAYER_HOME/lib/pkgconfig/:$PKG_CONFIG_PATH

export STAGE_HOME=/opt/stage-[VERSION]
export LD_LIBRARY_PATH=$STAGE_HOME/lib:$LD_LIBRARY_PATH

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 users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5