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.
Contents
Installation
Setup
sudo apt-get install build-essential python-yaml cmake subversion wget python-setuptools mercurial
It is possible that you need to add "contrib" to your /etc/apt/sources.list for some packages.
Locales
New in Diamondback
Currently, they is a known issue with locales on Diamondback : https://code.ros.org/trac/ros/ticket/3305
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
rosinstall
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:
sudo easy_install -U rosinstall
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 "http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=diamondback&variant=desktop-full&overlay=no"
Desktop Install: : ROS Full, rviz, and robot-generic libraries
rosinstall ~/ros "http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=diamondback&variant=desktop&overlay=no"
ROS-Full: ROS package, build, communication, and graphical tools.
rosinstall ~/ros "http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=diamondback&variant=ros-full&overlay=no"
ROS-Base: (Bare Bones) ROS package, build, and communication libraries.
rosinstall ~/ros "http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=diamondback&variant=ros-base&overlay=no"
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 108 for description of other available configurations.
Environment Setup
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
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 http://www.ros.org/wiki/rosdep/rosdep.yaml#Overriding_Mapping_File
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