Skip to content

Add suport for ubuntu noble / resolute#56

Open
arntanguy wants to merge 17 commits into
mc-rtc:mainfrom
arntanguy:topic/noble
Open

Add suport for ubuntu noble / resolute#56
arntanguy wants to merge 17 commits into
mc-rtc:mainfrom
arntanguy:topic/noble

Conversation

@arntanguy

@arntanguy arntanguy commented Nov 12, 2025

Copy link
Copy Markdown
Contributor

@arntanguy arntanguy changed the title Add ubuntu noble support Add suport for ubuntu noble / resolute Jun 1, 2026
@arntanguy arntanguy marked this pull request as ready for review June 1, 2026 21:19
@arntanguy arntanguy requested a review from ThomasDuvinage June 1, 2026 21:19
@arntanguy

arntanguy commented Jun 1, 2026

Copy link
Copy Markdown
Contributor Author

The superbuild now supports ubuntu jammy, noble, and resolute, including cython python bindings, provided that:

  • One creates and/or activates a python venv manually. This is ensured by both the bootstrap script and superbuild's cmake
  • All PR mentioned in the description must be merged and mc_rtc.cmake be restored to the master remote/branch for all coresponding projects
  • CI works:
    • Building in the default github actions runner for ubuntu jammy and noble. Resolute runner has not yet been released.
      • Testing the build from packages for noble / resolute is currently disabled as each project's CI needs to be upgraded to generate them
    • Devcontainers are built for jammy, noble and resolute.
      • to be checked
      • It seems that noble and resolute devcontainers do not start in zsh while jammy does, why?
  • Finally we'll need to fix the packaging issue (ros) in mc-rtc before releasing. I think we can get away without having to link against ros explicitely (by moving the ament index path lookup to ROSBridge, I'll take a look at it).

Can be done later:

  • drop python2 support and simplify the superbuild/ci accordingly
  • support cython in nix (shouldn't be too hard now that it builds here)

@ThomasDuvinage I marked it as ready for review to move the ball along but haven't yet done any kind of self-review. Besides building with unit tests and running a minimal ticker test and interactive python interpreter, I haven't thourougly confirmed that everything is in order yet.

@arntanguy

Copy link
Copy Markdown
Contributor Author

I released all ubuntu packages for resolute except mc_rtc / mc_rtc_ros.

Finally we'll need to fix the packaging issue (ros) in mc-rtc before releasing. I think we can get away without having to link against ros explicitely (by moving the ament index path lookup to ROSBridge, I'll take a look at it).

@ThomasDuvinage had a quick look at it, it's indeed not as trivial as this. We used to have ROSBridge usable whether ROS was installed on the system, as-in doing nothing when built without ROS support, and handling ROS-related features otherwise. This is in fact no longer the case: ROSBridge is simply not built anymore when mc_rtc is built without ROS.
Even if it still was, it would not help here as we do want to access ROS features, so we need to link against it (or do some dlopen black magic, but that'd be a bad idea).

So in short, yes we do need to generate a different package for ROS/non-ROS. I opened a PR with your initial work on it: jrl-umi3218/mc_rtc#543

This is the main remaining issue before we can release. I probably won't have time to look into it until Friday next week as I'm going to 2RM Tech Days next week. If you have time to finalize it ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants