forked from mjcarroll/gz_vendor
-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Problem appeared in osrf/vrx#839. The docker image for VRX installs both the packages.o.o debians and the ROS vendor jazzy binary packages since it requires the Python bindings. While it is true that sdformat binary releases are ABI compatible following the semver schema but that mix of both package sets can end up calling Python files from debians that use the libsdformat from ROS vendor packages which is not compatible with the Python code.
Possible solutions or workaround:
- Best solution for this problem is to resolve Enable Python Bindings #2
- The workflow of releasing does not guarantee that the
gazebo-release/${GZLIB}_vendor.git
vendor repositories are in sync with the debian releases. It is complicated to redesign the process so this is avoided. - We can build the ROS Gazebo vendor packages in a colcon workspace after installing the .deb packages. That will make the ROS Gazebo vendor packages to use the underlying .deb packages and solve the problem. This however is fragile when using the
rosdep
installations or other ros-jazzy-* installation since dependencies could bring the ROS Gazebo vendor packages back. Sourcing the colcon workspace in the right order can make the setup to work but still not a solid solution. - Using LD_PRELOAD (suggested here) on the ros2 binary we can add a workaround but it would need a lot of manual lib configurations to cover all libraries and adds an overhead on ros2 calls even if gazebo not used.
Metadata
Metadata
Assignees
Labels
No labels