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

Revision history [back]

click to hide/show revision 1
initial version

As mentioned in #q412461 by @Pablogs, micro-ROS does not support Cyclone.

Seeing as you write you are using Galactic -- which uses rmw_cyclonedds_cpp by default -- the error is "expected".

The CMake logic in rmw_implementation is trying to see which RMW to build for, sees the RMW_IMPLEMENTATION environment variable set to rmw_cyclonedds_cpp (default for Galactic) and then tries to make that the standard for micro-ROS as well.

As that's not supported, the error message is printed.

As mentioned in #q412461 by @Pablogs, micro-ROS does not support Cyclone.

Seeing as you write you are using Galactic -- which uses rmw_cyclonedds_cpp by default -- the error is "expected".

The CMake logic in rmw_implementation is trying to see which RMW to build for, sees the RMW_IMPLEMENTATION environment variable set to rmw_cyclonedds_cpp (default for Galactic) and then tries to make that the standard for micro-ROS as well.

As that's not supported, the error message is printed.

The article you link documents/uses Foxy, which uses Fast-RTPS. micro-ROS does support Fast-RTPS, hence why it works there.

If you really want/need to keep using Galactic (note: it is end-of-life since December 2022), you could try installing ros-galactic-rmw-fastrtps-cpp, setting RMW_IMPLEMENTATION=rmw_fastrtps_cpp, stopping the ROS 2 daemon (for good measure: ros2 daemon stop), clearing out your micro-ROS workspace and then attempt the build again.

As mentioned in #q412461 by @Pablogs, micro-ROS does not support Cyclone.

Seeing as you write you are using Galactic -- which uses rmw_cyclonedds_cpp by default -- the error is "expected".

The CMake logic in rmw_implementation is trying to see which RMW to build for, sees the RMW_IMPLEMENTATION environment variable set to rmw_cyclonedds_cpp (default for Galactic) and then tries to make that the standard for micro-ROS as well.

As that's not supported, the error message is printed.

The article you link documents/uses Foxy, which uses Fast-RTPS. micro-ROS does support Fast-RTPS, hence why it works there.

If you really want/need to keep using Galactic (note: it is end-of-life since December 2022), you could try installing ros-galactic-rmw-fastrtps-cpp, setting export RMW_IMPLEMENTATION=rmw_fastrtps_cpp, in the terminal you'll use to build everything, stopping the ROS 2 daemon (for good measure: ros2 daemon stop), clearing out your micro-ROS workspace and then attempt the build again.

Note: to use micro-ROS, you will have to repeat the export RMW_IMPLEMENTATION=rmw_fastrtps_cpp for all terminals you will be starting ROS 2 / micro-ROS nodes in. You might want to add it to your .bashrc or similar file.