I am currently developing a robot based on an UP Board with Xenial and ROS Kinetic, but wanted also to have ROS running on my mac notebook natively for development. The easiest option is a VM, but this is too painful with only 8GB RAM.
I used Mike Purvis's macOS install script, with the assistance of plusk01's notes (which had a completely different lot of build issues, but still useful).
The issues I had are all listed below. Given I had the script fail a few times, I quickly
added the ROS environment variables and ran the commands manually.
catkin build --limit-status-rate 1 --start-with <component that failed>
is a must-know for resolving problems quickly.
export ROS_CONFIGURATION="desktop_full"
export ROS_DISTRO="kinetic"
export ROS_INSTALL_DIR="/opt/ros/kinetic"
My site-packages were a bit of a mess, with stuff installed in site-packages from the system Python, a python.org framework install, and a recent Homebrew install. Given all the stuff I use regularly is now within virtual environments, I nuked all the non-brew site-packages.
for i in $( pip freeze ); do sudo -H pip uninstall -y $i; done
(and some messing around with PYTHONPATH)
I wanted a 'strict' ROS Kinetic build, where Gazebo 7 is the supported version.
After cloning the ros-install-osx
repo, edit the gazebo section of rosdeps.yaml
to be the following.
Note the addition of a plain gazebo
and changing the other references from gazebo8
to gazebo7
.
gazebo:
osx:
homebrew:
packages: [gazebo7]
gazebo7:
osx:
homebrew:
packages: [gazebo7]
libgazebo7-dev:
osx:
homebrew:
packages: [gazebo7]
Was picking up Qt4 header files. Given I have zero desire to mess around with the build config, my hack fix is to remove it while building, then reinstall after.
brew uninstall --ignore-dependencies qt@4
catkin build --limit-status-rate 1 --start-with rviz
brew install qt@4