ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

ROS2 Humble, including rviz2, will build on macOS Monterey if you follow the install instructions and add a couple of patches (cyclonedds and geometry2). rqt will build but is missing most of the plugins because python_qt_binding relies on a version of sip which is not compatible with the packages installed using brew.

The changes needed are:

cyclonedds: disable ENABLE_SHM in CMakeLists.txt as a library dependency is not building.

geometry2: add ${orocos_kdl_INCLUDE_DIRS} to the tf2_eigen_kdl CMakeLists.txt target include directories. On macOS the includes installed by brew are not being resolved by the orocos_kdl_vendor package (a proper solution would be to fix orocos_kdl_vendor, but this work around will get rviz2 compiling).

A build command that doesn't require you to disable SIP is:

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_MACOSX_RPATH=FALSE -DCMAKE_CXX_STANDARD=17 --packages-skip-by-dep python_qt_binding --continue-on-error

ROS2 Humble, including rviz2, will build on macOS Monterey if you follow the install instructions and add a couple of patches (cyclonedds and geometry2). rqt will build but is missing most of the plugins because python_qt_binding relies on a version of sip which is not compatible with the packages installed using brew.

The changes needed are:

cyclonedds: disable ENABLE_SHM in CMakeLists.txt as a library dependency is not building.

geometry2: add ${orocos_kdl_INCLUDE_DIRS} to the tf2_eigen_kdl CMakeLists.txt target include directories. On macOS the includes installed by brew are not being resolved by the orocos_kdl_vendor package (a proper solution would be to fix orocos_kdl_vendor, but this work around will get rviz2 compiling).

A build command that doesn't require you to disable SIP is:

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_MACOSX_RPATH=FALSE -DCMAKE_CXX_STANDARD=17 --packages-skip-by-dep python_qt_binding --continue-on-error

There is a meta-issue tracking progress on macOS support in ROS2 here: https://github.com/ros2/ros2/issues/1148