srmainwaring / asv_wave_sim

This package contains plugins that support the simulation of waves and surface vessels in Gazebo.
GNU General Public License v3.0
110 stars 29 forks source link

Incompatible Gazebo libraries after update #168

Open OlegARinchov opened 3 days ago

OlegARinchov commented 3 days ago

On Gazebo Harmonic, after updating to the latest version, I get errors of the following type:

[ruby $(which gz) sim-1] gz sim server: symbol lookup error: /usr/lib/x86_64-linux-gnu/gz-physics-7/engine-plugins/libgz-physics-dartsim-plugin.so: undefined symbol: _ZNK3sdf3v148Geometry9ConeShapeEv

Recompiling works without issues, but during runtime, Gazebo crashes with the above error as the combination of the new library versions with OGRE-2.3.1 seems not to work any longer. Using it with OGRE-2.3.3 works for Gazebo, but then asv_wave_sim doesn't work (see issue #164 ).

OlegARinchov commented 1 day ago

This works for ROS2 Jazzy Jalisco on Ubuntu 24.04 LTS with Gazebo Harmonic to get your plugins running: I removed the non-standard Gazebo completely and just sticked with the ROS2 standard Gazebo installation:

$ sudo apt install ros-jazzy-ros-gz

However, as the structure of the OGRE installation is different from earlier versions and many of the libs weren't found during compile time, I created a new master CMakeLists.txt (in the gz-waves directory). If you replace the original one by this one, everything else works as usual.

I attached it here. Note that it isn't as sophisticated as yours and will likely work only with the setup I have which is the standard for ROS2 Jazzy, however. CMakeLists.txt

srmainwaring commented 1 day ago

Thanks @OlegARinchov - I'll take a look.

If the standalone and ROS 2 integrated Gazebo installations are inconsistent on Ubuntu 24.04 that is an issue that should be raised with OSRF. I imagine that is going to cause problems for others as well.

OlegARinchov commented 1 day ago

I believe, it was changed intentionally given the statement in the ROS2 Jazzy release notes: https://docs.ros.org/en/jazzy/Releases/Release-Jazzy-Jalisco.html#changes-to-how-ros-2-and-gazebo-integrate While it might be simpler and more elegant, it also limits backwards compatibility. I suspect that this is the source of all the trouble.