Mac OS X Installation Instructions (10.6 or later)
SVN Based Install (download-and-compile)
Pre Install
Install Apple's Developer Tools: http://developer.apple.com/technologies/tools/
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
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
symbolic links
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