-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gazebo compatibility on jammy #82
Conversation
@@ -4,6 +4,9 @@ name: Check Rolling Compatibility on Jazzy | |||
|
|||
on: | |||
workflow_dispatch: | |||
pull_request: | |||
paths: | |||
- '.github/workflows/rolling-compatibility-iron-binary-build.yml' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- '.github/workflows/rolling-compatibility-iron-binary-build.yml' | |
- '.github/workflows/rolling-compatibility-jazzy-binary-build.yml' |
@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
What is this thing with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 keep ros_gz
's rolling
branch compatible with humble
, so this might fail at some point.
ros_controls.rolling-on-humble.repos
Outdated
gz/gz_dartsim_vendor: | ||
type: git | ||
url: https://github.com/gazebo-release/gz_dartsim_vendor.git | ||
version: rolling |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you'll want to include https://github.com/gazebosim/ros_gz/ because it also needs to be built with the version of Gazebo used here and gz_ros2_control_demos
depends on it.
From the logs, it looks like you're actually still using Fortress
2024-05-14T13:32:36.3189979Z 9: test_arm (gz_ros2_control_tests.TestFixture) ... [INFO] [ruby $(which ign) gazebo-1]: process started with pid [87741]
2024-05-14T13:32:36.3190753Z 9: [INFO] [create-2]: process started with pid [87743]
2024-05-14T13:32:36.3191362Z 9: [INFO] [robot_state_publisher-3]: process started with pid [87745]
2024-05-14T13:32:36.3191932Z 9: [INFO] [python3-4]: process started with pid [87747]
2024-05-14T13:32:36.3192797Z 9: [robot_state_publisher-3] [INFO] [1715693451.304287286] [robot_state_publisher]: got segment cart
2024-05-14T13:32:36.3194370Z 9: [robot_state_publisher-3] [INFO] [1715693451.304382593] [robot_state_publisher]: got segment slideBar
2024-05-14T13:32:36.3195930Z 9: [robot_state_publisher-3] [INFO] [1715693451.304394776] [robot_state_publisher]: got segment world
2024-05-14T13:32:36.3197397Z 9: [create-2] [INFO] [1715693451.326267146] [ros_gz_sim]: Requesting list of world names.
2024-05-14T13:32:36.3198299Z 9: [create-2] [INFO] [1715693451.796072830] [ros_gz_sim]: Requested creation of entity.
2024-05-14T13:32:36.3199012Z 9: [create-2] [INFO] [1715693451.796125348] [ros_gz_sim]: OK creation of entity.
2024-05-14T13:32:36.3200040Z 9: [INFO] [create-2]: process has finished cleanly [pid 87743]
2024-05-14T13:32:36.3200936Z 9: [INFO] [ros2-5]: process started with pid [87795]
2024-05-14T13:32:36.3202448Z 9: [ruby $(which ign) gazebo-1] [Msg] Ignition Gazebo Server v6.16.0
2024-05-14T13:32:36.3204526Z 9: [ruby $(which ign) gazebo-1] [Msg] Loading SDF world file[/usr/share/ignition/ignition-gazebo6/worlds/empty.sdf].
2024-05-14T13:32:36.3206871Z 9: [ruby $(which ign) gazebo-1] [Msg] Serving entity system service on [/entity/system/add]
Note the version 2024-05-14T13:32:36.3202448Z 9: [ruby $(which ign) gazebo-1] [Msg] Ignition Gazebo Server v6.16.0
. Harmonic is 8.x
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see, rosdep installs ros-iron-ros-gz-sim for example, which uses ignition-gazebo6-dev (fortress) and the rolling branch of gazebo_ros2_control is not working with it any more?
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
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? |
80853fa
to
ad678d8
Compare
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 |
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. |
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