Skip to content

Add suport for ubuntu noble / resolute - #56

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

Add suport for ubuntu noble / resolute#56
arntanguy wants to merge 18 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 ;)

@arntanguy

Copy link
Copy Markdown
Contributor Author

@ThomasDuvinage This builds, provided we have a virtualenv setup with

  python3 -m venv --system-site-packages ~/.mc-rtc-venv
  source ~/.mc-rtc-venv/bin/activate

The bootstrap script does this, and the superbuild cmake checks for it.

However I took a heavy-handed approach to updating the old cython.cmake of jrl-cmakemodules which as-is probably break per-repo ci and packaging.

I'm on vacations for 3 weeks, I'll try to finalize it afterwards.

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.

Support for Ubuntu 24.04 (Noble) ?

2 participants