Robotics StackExchange | Archived questions

RViz MacOS (Monterey)

I tried to get ROS 2 foxy running on MacOS but I was unable to compile it, so I chose the path of running ROS2 in a docker container which works fine! However, I am unable to run RViz. So my options are either to run it natively or run it in docker and x11 forward it. I would prefer to run it natively, so my question is if anyone has done this? Or if someone has gotten RViz running on any MacOS(aarch64) in a container or natively it doesn't matter. I just want it to run in the end.

Asked by renob321 on 2022-07-26 08:43:25 UTC

Comments

Answers

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

Asked by srmainwaring on 2022-08-28 06:39:18 UTC

Comments