Work in progress Not yet completed. A quick answer is here:

Debian Testing install of ROS Groovy

The following HOW-TO was tested only on Debian Testing (Jessie), as of August 2013. If you want to improve this how-to, feel free to edit this page.

As binary packages are not provided for Debian, you need to download and compile the source code of most packages on your own.


There are two ways to install the core ROS packages: using apt-get, as explained by this guide, or pip. Remember that you can't use both pip and apt-get, because packages are in conflict. If you have already installed some package from pip and you want to follow this guide, be sure to correctly uninstall all previous version of the installed packages

Configure your Debian repositories

Setup your computer to accept software from

  • $ sudo sh -c 'echo "deb wheezy main" > /etc/apt/sources.list.d/ros-latest.list'

Set up your keys:

  • $ wget -O - | sudo apt-key add -


First of all, make sure your Debian package index is up to date:

  • $ sudo apt-get update

Then, install the bootstrap dependencies and checkinstall:

  • $ sudo apt-get install python-rosdep python-rosinstall-generator python-wstool build-essential checkinstall


Building the catkin Packages

ROS is in the process of converting itself to a new build system, called catkin. At this moment, not all of the packages have been converted to the new system, and the two build systems cannot be used simultaneously. Therefore it is necessary to build the core ROS packages first (catkin packages) and then the rest.

Create a catkin Workspace

In order to build the core packages, you will need a catkin workspace. Create one now:

  • $ mkdir ~/ros_catkin_ws
    $ cd ~/ros_catkin_ws

Next we will want to fetch the core packages so we can build them. We will use wstool for this. Select the wstool command for the particular variant you want to install:

Desktop-Full Install: ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

  • $ rosinstall_generator desktop-full --rosdistro groovy --deps --wet-only > groovy-desktop-full-wet.rosinstall
    $ wstool init -j8 src groovy-desktop-full-wet.rosinstall

Desktop Install (recommended): ROS, rqt, rviz, and robot-generic libraries

  • $ rosinstall_generator desktop --rosdistro groovy --deps --wet-only > groovy-desktop-wet.rosinstall
    $ wstool init -j8 src groovy-desktop-wet.rosinstall

ROS-Comm: (Bare Bones) ROS package, build, and communication libraries. No GUI tools.

  • $ rosinstall_generator ros_comm --rosdistro groovy --deps --wet-only > groovy-ros_comm-wet.rosinstall
    $ wstool init -j8 src groovy-ros_comm-wet.rosinstall

This will add all of the catkin or wet packages in the given variant and then fetch the sources into the ~/ros_catkin_ws/src directory. The command will take a few minutes to download all of the core ROS packages into the src folder. The -j8 option downloads 8 packages in parallel.

Resolving Dependencies

Before you can build your catkin workspace you need to make sure that you have all the required dependencies. We will use the rosdep tool and checkinstall for this.

Install Collada Dom

collada-dom-dev is a required dependency which is unfortunately not part of the Debian repositories. You should install it by yourself. We suggest to use the checkinstall tool to make it easy and clean to uninstall the package later.

  1. download the collada-dom compressed file (tarball) from the official website

  2. extract it in a folder ($COLLADA_FOLDER)

  3. issue the following command from a terminal:
    cd $COLLADA_FOLDER; cmake .; make; sudo checkinstall make install

When check install runs you may need to update the package name from "collada-dom" to "collada-dom-dev" otherwise the rosdep install may fail to find it.

Run rosdep

Now, we can run rosdep to download and install all the others dependencies:

  • $ rosdep install --from-paths src --ignore-src --rosdistro groovy -y -r

The only difference with the Ubuntu source installation is the -r parameter, that allows rosdep to continue his work despite errors. This is needed as rosdep can fail to detect some correctly installed deb due to differences in the names: we need to ignore those errors and continue the installation.

Building the catkin Workspace

Once it has completed downloading the packages and resolving the dependencies you are ready to build the catkin packages. We will use the catkin_make_isolated command because there are both catkin and plain cmake packages in the base install, when developing on your catkin only workspaces you should use catkin/commands/catkin_make.

Invoke catkin_make_isolated:

To install it in /opt/ros/groovy

  • $ ./src/catkin/bin/catkin_make_isolated --install --install-space /opt/ros/groovy

if you install in /opt/ros/groovy, remember that you must have permission to write files in that folder.

To install it in the install_isolated folder, inside the catkin workspace:

  • $ ./src/catkin/bin/catkin_make_isolated --install

Now source the setup.bash file in your installation directory to setup your envirorment. You can run one of the following commands:

if you have installed ROS in /opt/ros/groovy

  • $ echo "source /opt/ros/groovy/setup.bash" >> ~/.bashrc

if you have installed ROS in install_isolated folder:

  • $ echo "source ~/ros_catkin_ws/install_isolated/setup.bash" >> ~/.bashrc

Known Issues

There may be some issues when compiling some ROS packages, for which some workaround is here provided. Some of them are a bit quick and dirty: if you have more elegant solutions, feel free to update this page.

  • qt_gui_cpp doesn't find ShibokenConfig-python3.2.cmake. For debian amd64 installation just run:

    $ sudo ln -s /usr/lib/x86_64-linux-gnu/cmake/Shiboken-1.1.2/ShibokenConfig.cpython-33m.cmake /usr/lib/x86_64-linux-gnu/cmake/Shiboken-1.1.2/ShibokenConfig-python3.2.cmake
  • qt_gui_cpp compilation stops for a missing shared library "". For debian amd64 installation just run:

    $ sudo ln -s /usr/lib/x86_64-linux-gnu/ /usr/lib/x86_64-linux-gnu/
  • rosbag doesn't compile. Simply edit the line reported in the compiler error in the rosbag sources, removing the constant namespace qualifier (in this case boost: )

Build the rosbuild Packages

Now that you have the catkin ROS packages built and sourced, you can build any of the packages and stacks using the rosbuild build system. See the paragraph on the Ubuntu installation tutorial for this.

Wiki: groovy/Installation/Debian (last edited 2013-09-10 21:00:40 by Peter Jeffris)