Note: Last installed/updated on 2017-11-20 (Mac OS 10.13.1 High Sierra) and see this older (private) document for previous instructions.
Install: APFS case-sensitive Post-install: No Siri, no location services, no cloud anything, no analytics, no filevault disk encryption.
Make sure you don't use too long of a password. That makes VNC auth fail in bizarre ways. In particular, VNC auth limits you to 8 characters.
- Go to: Apple->System Preferences->Sharing
- set hostname to something reasonable
- check "Remote Login"
- check "Screen Sharing"
- add Terminal to the dock
- Go to: Apple->System Preferences->Energy Saver
- set sleep to never
- uncheck everything
- Go to: Apple->Security
- click lock to unlock it
- "Allow Apps from app store and verified developers"
- uncheck "Require password after 5 minutes" box
- uncheck "Disable automatic login"
Install XCode tools:
$ xcode select --install
Install JDK for Jenkins.
Easiest way is to type java
at the terminal and let Apple link you to Oracle’s JDK download.
I installed the latest JDK 8 (withholding Java 9 for now).
Install Homebrew following instructions at https://brew.sh
Install ssh-askpass
via homebrew
$ brew tap theseal/ssh-askpass
$ brew install ssh-askpass
create ~/.bash_profile
with this one line:
. ~/.bashrc
create ~/.bashrc
with one line:
export ROS_DOMAIN_ID=XXX # where XXX is chosen from this document
set up dummy git names:
$ git config --global user.email "nobody@osrfoundation.org"
$ git config --global user.name "HOSTNAME"
Install them according to our install instructions <OSX-Development-Setup>.
Including:
- brew packages
- pip packages
- the optional RTI Connext and OpenSplice packages
- everything but downloading the source and building ROS 2 (unless you want to do so for testing the setup)
brew install sip pyqt5
Fix some path names when looking for sip stuff during install (see ROS 1 wiki):
ln -s /usr/local/share/sip/Qt5 /usr/local/share/sip/PyQt5
brew install graphviz
python3 -m pip install pygraphviz pydot
brew link --force qt
This is the quickest solution but may cause issues when upgrading Qt or if other packages are expecting Qt 4. Another option is to update your
PATH
andCMAKE_PREFIX_PATH
to include the Qt install location:$ export PATH="$(brew --prefix qt)/bin:$PATH" $ export CMAKE_PREFIX_PATH="$(brew --prefix qt):$CMAKE_PREFIX_PATH"
- The Open Robotics license is here (private repo): https://github.com/osrf/rticonnextdds-src/blob/license/rti_license.dat
- Open the RTI launcher application
- In the RTI launcher, open the file dialog to choose the license file.
- Install it for all users.
- Click the Installation tab
- Click RTI Package installer
- Navigate to the connext extracted directory (usually something like
/Applications/rti_...
- Select the
rti_security rtipkg
(don’t bother with the openssl ones, we use system openssl)
- Select the
- Set the shared memory parameters from https://community.rti.com/kb/osx510
- Do not bother to reboot yet.
$ mkdir jenkins jenkins-agent
$ cd jenkins-agent
$ wget http://ci.ros2.org/jnlpJars/slave.jar
Copy the jenkins agent plist from https://gist.github.com/nuclearsandwich/c9546e76ba63767bc1025c393e85235b
Edit the file to match the jnlp url and secret of the host you’re setting up. You may need to create a new agent if you’re not re-imaging an existing one.
$ mkdir ~/Library/LaunchAgents
$ cp ~/jenkins-agent/org.ros2.ci.jenkins-agent.plist ~/Library/LaunchAgents
$ launchctl load -w ~/Library/LaunchAgents/org.ros2.ci.jenkins-agent.plist
Reboot! You should be good to go, run some test CI jobs.