Installation Instructions for Groovy in OSX
This page describes how to install Groovy in OSX. OSX is not officially supported by ROS and the installation might fail for several reasons. This page documents how to install using a new experimental packaging of ROS into Portfiles. For the old (outdated) manual install instructions, see here. Please post any issues found with these instructions to the repository issue tracker.
Contents
Setup
Install Apple's Developer Tools (Xcode 4). After starting Xcode select "Preferences" (⌘,) >> "Downloads". In "Components" you will find Command Line Tools.
Install MacPorts
Clone ROS Repository Locally and Update MacPorts Configuration
First clone the repository to somewhere local (Warning: Use small paths if possible, as long paths have caused issues with catkin and environment chaining):
cd ~ git clone https://github.com/kyonifer/ros-macports.git ros-macports
Now we need to tell MacPorts where the local repository clone is. Do this by adding a file:///path/to/clone/location line to /opt/local/etc/macports/sources.conf:
sudo sh -c 'echo file://$HOME/ros-macports >> /opt/local/etc/macports/sources.conf'
Install the ROS Port
Install the ros-groovy port, which will auto build and install ros-desktop-full along with all dependencies:
sudo port install ros-groovy
This will install everything in /opt/local. To use our freshly built ROS installation, we need to source its setup file:
source /opt/local/setup.bash
Now a quick check to make sure all is working
which roscore /opt/local/bin/roscore
Caveats
- Everything in desktop-full is included in this port except the following:
tf2 tf2_* pcl pcl_* depth_image_proc rviz rqt_rviz
ROS is built against MacPorts OpenCV, so if you want specific functionality to be compiled in to OpenCV be sure to build it before ROS with the correct variants flagged, e.g.:
sudo port install opencv +eigen +opencl +python27 +qt4
The same is true for any other dependencies that ROS brings in which you want custom variants of. (You can list available variants for any port by port variant <port_name>).