Revision 153 as of 2010-01-23 23:38:54

Clear message

See also: Downloading source code

Step 1: preinstall (os-specific)

This step brings your machine up to the minimal functionality needed to run the ROS installer: gcc, Python 2.5+, PyYaml, CMake, Subversion, and wget.

Ubuntu 08.04 and newer or Mint 5 or newer

  • sudo apt-get install build-essential python-yaml cmake subversion

    Hardy(8.04) enable hardy-backports.

    sudo vim /etc/apt/sources.list
    <uncomment the two lines that refer to hardy-backports>
    sudo apt-get update

Fedora 11

  • sudo yum groupinstall 'Development Tools'
    sudo yum install wget cmake PyYAML

Arch Linux

  • sudo pacman -S python cmake wget
    yaourt -S python-yaml

Gentoo Linux (experimental)

  • sudo mkdir -p /etc/portage
    sudo bash -c 'echo app-portage/gentoolkit >> /etc/portage/package.keywords'
    sudo emerge -u pyyaml cmake subversion gentoolkit

Mac OS X 10.5 (experimental)

ROS will work with either Python 2.5 ("py25") or Python 2.6 ("py26"). However, many packages built on top of ROS still use hard-coded py25 dependencies in their rosdep.yaml files. You will have to change each of these if you are using py26. Here are instructions for using Python 2.5:

  • sudo port -v selfupdate
    sudo port install wget cmake py25-yaml python_select
    sudo python_select python25
    sudo ln -s /opt/local/Library/Frameworks/Python.framework /Library/Frameworks/

    rosboost-cfg cannot generate the correct include/link path of the Boost library installed by macports. You will need to use this workaround (you may want add into your .bashrc) :

    export CPATH=/opt/local/include
    export LIBRARY_PATH=/opt/local/lib

openSUSE (experimental)

  • install cmake subversion
  • install libyaml from source.
  • easyinstall pyyaml
  • install gcc compiler
  • The rosinstall below will fail to detect the os, manually run rosmake --no-rosdep rostest

Windows (experimental)

Some information on Windows interoperability can be found on the Windows page.

Step 2: install (os-neutral)

The rosconfig tool can now install a configuration of ROS on your machine. The following lines will download the ROS source code, and bootstrap the installation. The sample configuration used below will place everything in subdirectories inside the ~/ros directory, one subdirectory for each entry in the rosconfig file. This will take a while, but it should be fully automated once the initial system dependencies are installed by the rosdep tool.

wget --no-check-certificate http://ros.org/rosinstall -O ~/rosinstall
chmod 755 ~/rosinstall

You now need to rosconfig to install using a config file. We've created two default configs to use: "all" (kitchen sink) and "ros" (just ROS). The rosconfig format is just a list of SVN repositories, so it's easy to create your own (see rosinstall for more information on this format).

Kitchen Sink Install

  • Recommended, includes tutorials and various packages.

    ~/rosinstall ~/ros http://ros.org/rosconfigs/all.rosconfig

ROS-only Install

  • Includes basic ROS and tutorials.

    ~/rosinstall ~/ros http://ros.org/rosconfigs/ros.rosconfig 

Willow Garage Install

  • Willow Garage employees should use the wg-all configuration, which pulls ros from the rc tag.

    ~/rosinstall ~/ros http://ros.org/rosconfigs/wg-all.rosconfig

Willow Garage PR2 Install

  • This installation pulls the latest version of all released stacks, plus the rc version of ros. At the time of writing (2010-01-21), this set of software is all that needs to be installed on PR2.

    ~/rosinstall ~/ros http://ros.org/rosconfigs/wg-released.rosconfig

Environment Setup

It's convenient if the ROS environment variables are automatically added to your bash session every time a new shell is launched:

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

Then, open a new terminal window, logout/login, or source your ~/.bashrc file.

Tutorials

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

Advanced Installation

If multiple developers are working on the same machine (e.g., a machine onboard a robot), a shared installation might save space and time.

There is an experimental method to install pre-compiled binaries.

Tips and experiences from using ROS in the classroom.