ros / rosdistro

This repo maintains a lists of repositories for each ROS distribution
Other
908 stars 2.54k forks source link

Octomap as released into Jazzy and Rolling is ABI-incompatible with system versions #41622

Closed clalancette closed 1 week ago

clalancette commented 2 months ago

It turns out that in Ubuntu 24.04, the version of octomap released into the operating system is 1.9.7. However, we also vendor octomap in both Jazzy and Rolling, and that version is version 1.10.0. This has ended up leading to hacks like in https://github.com/moveit/geometric_shapes/commit/9e862f7b1a4d4930d69036589726ac9058451b4e .

What we should do here instead is to always rely on the operating system version, and not vendor it ourselves (across all ROS distributions). That will allow us to link with other things from the system without ABI problems. To do that, we should do the following:

  1. Get octomap released on RHEL-9. This is our one supported rosdep operating system where it is not available.
  2. Add a liboctomap-dev key into rosdep here in rosdistro.
  3. Update the packages that depend on this to use that new key. As of this writing, in Rolling those packages are:
    1. hpp-fcl
    2. octomap_ros
    3. gz_dartsim_vendor
    4. mrpt2
    5. moveit_ros_occupancy_map_monitor
    6. moveit_core
    7. geometric_shapes
    8. octomap_rviz_plugins
    9. octomap_server
  4. Remove the octomap package from rolling, jazzy, iron, and humble.

@rhaschke @henningkayser @wxmerkt FYI.

clalancette commented 2 months ago

Octomap has been packaged for RHEL-9 now, we just need to wait for it to make it to stable: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2024-71ae26cb75