Closed christophfroehlich closed 6 months ago
@azeey thanks for the hint with the skip-keys for rosdep. It compiles now, but it seems that the plugin can't be loaded
https://github.com/ros-controls/ros2_control_ci/actions/runs/9079260048/job/24948084469?pr=82
[ruby $(which ign) gazebo-1] Library [/home/runner/work/ros2_control_ci/ros2_control_ci/.work/target_ws/install/gz_ros2_control/lib/libgz_ros2_control-system.so] does not export any plugins. The symbol [IgnitionPluginHook] is missing, or it is not externally visible.
[ruby $(which ign) gazebo-1] [NON-XML-CHAR-0x1B][1;31m[Err] [SystemLoader.cc:103] [NON-XML-CHAR-0x1B][0m[NON-XML-CHAR-0x1B][1;31mFailed to load system plugin [[NON-XML-CHAR-0x1B][0m[NON-XML-CHAR-0x1B][1;31mgz_ros2_control-system[NON-XML-CHAR-0x1B][0m[NON-XML-CHAR-0x1B][1;31m] : couldn't load library on path [[NON-XML-CHAR-0x1B][0m[NON-XML-CHAR-0x1B][1;31m/home/runner/work/ros2_control_ci/ros2_control_ci/.work/target_ws/install/gz_ros2_control/lib/libgz_ros2_control-system.so[NON-XML-CHAR-0x1B][0m[NON-XML-CHAR-0x1B][1;31m].[NON-XML-CHAR-0x1B][0m[NON-XML-CHAR-0x1B][1;31m[NON-XML-CHAR-0x1B][0m
What is this thing with IgnitionPluginHook
?
The IgnitionPluginHook is coming from trying to use Fortress. In ros-controls/gz_ros2_control#277, I removed any mention of ignition, which cleaned up the codebase. Building
ros_gz
from source would help, but I'm not sure we can promise to keepros_gz
'srolling
branch compatible withhumble
, so this might fail at some point.
Thanks for the explanation. ros_gz_bridge needs https://index.ros.org/p/rosidl_pycommon/#humble which is not released for humble. Trying to compile https://github.com/ros2/rosidl/tree/rolling/rosidl_pycommon from source as well? I have the feeling that this will not work (for a long time).
But then it still fails on iron with
--- stderr: ros_gz_bridge
CMake Error at CMakeLists.txt:83 (add_library):
Target "ros_gz_bridge" links to target "yaml-cpp::yaml-cpp" but the target
was not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Generate step failed. Build files cannot be regenerated correctly.
was there any change with CMake, exporting the targets?
I get the feeling that it is just not possible any more (with reasonable effort) to use the rolling-version of gz_ros2_control on older distros?
There were some major changes in yaml_cpp_vendor for Jazzy including switching to ament_vendor_package and updating to yaml-cpp 0.8 (from 0.7), so I suspect that has something to do with it. In previous versions, you didn't have to link against the yaml-cpp::yaml-cpp
target (see commit that fixed the build in ros_gz).
Thanks for the hint. I see that this might not work well without lots of handcrafting in the future. We will try to support gazebo_ros2_control@rolling as long as possible for the older distros instead.
@christophfroehlich I will mention that Gazebo classic has been removed from Noble, so any package that depends on it will not be releasable into rolling.
@christophfroehlich I will mention that Gazebo classic has been removed from Noble, so any package that depends on it will not be releasable into rolling.
to specify my argument: we want to support it to be built from source. I know that binary releases won't happen for gazebo classic - related packages on rolling.
see #77, I accidentally broke the old PR