Installing on Debian from SVN

Install from SVN requires that you download and compile the source code on your own. The main supported version of Debian is "Squeeze", but it is possible that other one are working. If you plan to use a newer version like "Wheezy" or "Sid", please see the bottom paragraph.



  • sudo apt-get install build-essential python-yaml cmake subversion wget python-setuptools mercurial git-core python-pip
    sudo pip install -U pip
    sudo pip install -U rospkg

Depending on the configuration you choosed, it is possible that you need to add "contrib" to your /etc/apt/sources.list for some packages. Especially for nvidia-cg-toolkit. Don't forget to do an "apt-get update" after this change to search for the new packages !


Currently, there is a known issue with locales on Electric :

A workaround is possible if you do not have US locales :

  • LANG=en_US.utf-8

It will provoke svn warnings during checkout that you may ignore. Here is an example :

  • svn: warning: cannot set LC_CTYPE locale
    svn: warning: environment variable LANG is en_US.utf-8
    svn: warning: please check that your locale name is correct
    svn: warning: cannot set LC_CTYPE locale
    svn: warning: environment variable LANG is en_US.utf-8
    svn: warning: please check that your locale name is correct


The following lines will download the ROS source code using the rosinstall tool, and bootstrap the installation. The installation downloads all ROS stacks in subdirectories inside the ~/ros directory, one subdirectory for each stack in the rosinstall file.

First install rosinstall using pip (advanced options for pip):

  • sudo pip install -U rosinstall vcstools

There are many different libraries and tools in ROS. We provided four default configurations to get you started.

  • Desktop-Full Install: (Recommended): ROS Full, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

    • rosinstall ~/ros ""

    Desktop Install: : ROS Full, rviz, and robot-generic libraries

    • rosinstall ~/ros ""

    ROS-Full: ROS package, build, communication, and graphical tools.

    • rosinstall ~/ros ""

    ROS-Base: (Bare Bones) ROS package, build, and communication libraries.

    • rosinstall ~/ros ""

NOTE: the instructions above download all stacks inside the ~/ros folder. If you prefer a different location, simply change the ~/ros in the commands above.

Please reference REP 113 for description of other available configurations.

Environment Setup

Shell language:   Bash     Zsh    

You'll now need to update your environment. You can do this by typing:

source ~/ros/setup.bash

It's convenient if the ROS environment variables are automatically added to your bash session every time a new shell is launched, which you can do with the command below:

echo "source ~/ros/setup.bash" >> ~/.bashrc
. ~/.bashrc

For Zsh users, change the last line of ~/ros/setup.zsh to

source $ROS_ROOT/tools/rosbash/roszsh

before running source ~/ros/setup.zsh Similarly, have the setup script called at the start of each new shell session with

echo "source ~/ros/setup.zsh" >> ~/.zshrc
. ~/.zshrc


Now, to test your installation, please proceed to the ROS Tutorials.

Managing failed rosdeps

Since Debian is not officially supported it often happens that rosdep packages are not up to date. In general copy/pasting the ubuntu packages is correct (please submit patches to ROS stacks owner so they can update their code).

In some rare case it is not so simple. Here is a list of some customization you have to do to make it working :


The opencv-2.3 package is not available on squeeze. The quicker solution is to get libcv-dev. The best solution would be to add a source tarball install in the rosdep.yaml...

=== Yaml-dev ===

Justadd to simulator_gazebo/rosdep.yaml :

  • debian: libyaml-dev

Installation on newer versions

If you are using a "Wheezy" or "Sid" version you may have to overwrite the rosinstall OS version detection, with luck it will work as in "Squeeze". Please add this to your environment variables before installing :

  • export ROS_OS_OVERRIDE=debian:squeeze

If this is not enough, you will have to customize your rosdep.yaml files. Please read

Compilation failure

Since "Wheezy" and "Sid" include packages for gcc-4.6 and g++-4.6, you may find that your compilation fails if you have these versions of the compilers installed. To remedy this and successfully compile, you can add these environment variables to your session (or shell defaults, such as in ~/.bashrc).

export CC=gcc-4.5
export CXX=g++-4.5

Wiki: electric/Installation/Debian (last edited 2012-09-17 18:21:13 by BenceMagyar)