Mac OS X Installation Instructions (10.6 or later)

SVN Based Install (download-and-compile)

Pre Install

  1. Install Apple's Developer Tools: http://developer.apple.com/technologies/tools/

  2. Install MacPorts http://www.macports.org/install.php

ROS uses Python 2.6 ("py26").

  • sudo port -v selfupdate
    sudo port install wget cmake python_select subversion mercurial py26-yaml libyaml
    sudo port select --set python python26

Install Git

  • sudo port install git-core +svn+bash_completion

If your .profile doesn't already source .bashrc, you'll also need to do that:

  • echo 'source ~/.bashrc' >> ~/.profile

Install bash completion:

  • cp /opt/local/etc/bash_completion.d/git ~/.git-bash-completion.sh
    echo "[ -f ~/.git-bash-completion.sh ] && . ~/.git-bash-completion.sh" >> ~/.bashrc
    . ~/.bashrc

ROS on OS X uses MacPorts, which requires additional environment setup. If you haven't already configured your computer to use MacPorts libraries, add the following to your .bashrc:

  • export CPATH=/opt/local/include
    export LIBRARY_PATH=/opt/local/lib
    export DYLD_FALLBACK_LIBRARY_PATH=$DYLD_FALLBACK_LIBRARY_PATH:/opt/local/lib
    export PATH=/opt/local/bin:$PATH

You need C++ boost library with a version between 1.41 and 1.47. May you have it installed earlier, then you can enter (with your version):

  • port installed boost
    sudo port deactivate boost
    sudo port activate boost @1.47.0_2

If you have not one of that versions, you have to install it by yourself:

  • cd /Users/shared
    svn co -r 85591 http://svn.macports.org/repository/macports/trunk/dports/devel/boost boost_1_47_0_2
    cd boost_1_47_0_2
    sudo chown -R macports:macports Portfile files
    sudo port install
    cd ..
    rm -rf boost_1_47_0_2

Install other packages

sudo port install pkgconfig eigen

You may need to run easy_install to install libyaml:

sudo easy_install -U pyyaml

NOTE: Check symbolic links (e.g. using which and ls -la) for python and easy_install to make sure they link to the correct version (/opt/local/bin not /usr/...).

If easy_install is not in /opt/local/bin, you will need to install python-distribute:

sudo port install py26-distribute

You may need to add this symbolic link in /opt/local/bin:

sudo ln -fsv /opt/local/bin/easy_install-2.6 easy_install

python-svn issue: python-svn is a pre-requisite, but it must currently be installed from source. Please see http://answers.ros.org/question/28124/os-x-installation-error

Tell rosinstall, that we are planning to install using MacPorts:

export ROS_OS_OVERRIDE=osx:macports

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 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 "http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=electric&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=electric&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=electric&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=electric&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 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

Troubleshooting

For Mac OS X, you may need to create these symbolic links:

  • sudo ln -sv /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/rosinstall rosinstall
    
    sudo ln -sv /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/roslocate roslocate

CMake

If you get the following error:

  cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=`rospack find rosbuild`/rostoolchain.cmake  ..
  CMake Error at /opt/local/share/cmake-2.8/Modules/Platform/Darwin.cmake:141 (message):
    CMAKE_OSX_DEPLOYMENT_TARGET (10.6) is greater than CMAKE_OSX_SYSROOT SDK
    (/Developer/SDKs/MacOSX10.5.sdk).  Please set CMAKE_OSX_DEPLOYMENT_TARGET
    to 10.5 or lower

run this as a fix:

 echo "set(CMAKE_OSX_DEPLOYMENT_TARGET 10.5)" >> `rospack find rosbuild`/rostoolchain.cmake

Tutorials

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

Wiki: electric/Installation/OSX/Macports (last edited 2012-11-26 15:11:35 by PhilippDittmann)