Skip to content

Full rebuild Feb 2026 (cont)#387

Merged
Tobias-Fischer merged 70 commits intoRoboStack:rebuild_feb_2026from
olivier-roussel:rebuild_feb_2026_cont
Mar 15, 2026
Merged

Full rebuild Feb 2026 (cont)#387
Tobias-Fischer merged 70 commits intoRoboStack:rebuild_feb_2026from
olivier-roussel:rebuild_feb_2026_cont

Conversation

@olivier-roussel
Copy link
Contributor

@olivier-roussel olivier-roussel commented Feb 20, 2026

Continuation of #382

@olivier-roussel
Copy link
Contributor Author

olivier-roussel commented Feb 22, 2026

I'm really not sure if I did the right thing to fix compat with poco and libfranka 0.20.3 in 2422021 as I am not familiar enough with the robostack mechanisms...
The rosdistro.snapshot (which I presume to be fixed now ?) points to libfranka 0.20.3, which pins to poco ==1.14.2. I guess the recipe of ros-humble-libfranka has the strict run dependencies from this on libfranka == 0.20.3, but not on host, and poco is not strictly pinned, so it will used the globally pinned poco == 1.15 for building ros-humble-libfranka and then will have incompatible run dependencies for consumers (libfranka == 0.20.3 and poco == 1.15), if I understood correctly.
I don't know if you would rather prefer to bump to libfranka 0.20.4 (which pins to poco == 1.15), or if we force poco ==1.14.2 as I did in my last commit, using conda_build_config.yaml or another robostack mechanism ?

@Tobias-Fischer
Copy link
Contributor

@nmarticorena - you are the Franka expert, any suggestion?

@nmarticorena
Copy link
Contributor

nmarticorena commented Feb 22, 2026

Checking the libfranka release, it was updated to 0.20.4 on 09 Feb 2026. I can see the last snapshot is from 28 January 2026, so we were off just by a couple of days. I see there were a few updates in the rosdistro in between, so not sure if updating the snapshot will introduce more problems.

I reckon we can try to update the snapshot to the 2026-02-20 tag rosdistro, if this introduces more problems, we can either pin to 0.20.4 as it should work, or I can just update the recipe to rebuild the 0.20.3 version

@nmarticorena
Copy link
Contributor

nmarticorena commented Feb 22, 2026

I just checked, and the diff in the snapshot is massive snapshot.diff

If pinning libfranka to 0.20.4 is not a nasty solution, I guess it is the easier and quicker considering that future releases will point to that version

@Tobias-Fischer
Copy link
Contributor

Cool - I'd say let's update the snapshot (again) in this case, and remove the poco pin.

@nmarticorena
Copy link
Contributor

I do not have writing access otherwise happy to do so

@olivier-roussel
Copy link
Contributor Author

@nmarticorena You should have received an invite and thus be able to contribute on this PR. Thanks !

@olivier-roussel
Copy link
Contributor Author

ros-humble-urdfdom-headers requires urdfdom_headers == 1.0.6, and urdfdom >= 5 requires urdfdom_headers >= 2.0.0, so I see no solution excepted downgrading to urdfdom_headers == 1.0.6 and urdfdom == 4.0.1 in 74f9933. Feel free to change this if you see another option.

@elephantum
Copy link
Contributor

May I also suggest bumping libprotobuf to 6.33.5.* ? If we do that, this rebuild will be compatible with freshly built pytorch with tegra variant and it will make using Nvidia Jetsons much easier

It would be great to be compatible with this build cuda129_generic_py311_hb35e7b0_203 of pytorch: https://prefix.dev/channels/conda-forge/packages/pytorch

@traversaro
Copy link
Member

ros-humble-urdfdom-headers requires urdfdom_headers == 1.0.6, and urdfdom >= 5 requires urdfdom_headers >= 2.0.0, so I see no solution excepted downgrading to urdfdom_headers == 1.0.6 and urdfdom == 4.0.1 in 74f9933. Feel free to change this if you see another option.

Sorry, I had missed that comment. As the urdfdom 5.1 migration progressed nicely (see https://conda-forge.org/status/migration/?name=urdfdom51) and has been completed for all packages used in ROS, I think we can simply bumpd the urdfdom_headers and urdfdom version used in conda_build_config.yaml and in generate_dummy_package_with_run_deps to 2.1.0 and 5.1.0 . We were already doing that in the past (as humble was using urdfdom 3 and conda-forge urdfdom 4) so I do not think it would be a big problem.

@traversaro
Copy link
Member

Ah, it seems that you did that before, what was the error? The API of urdfdom_headers/urdfdom is almost unchanged, if there is any CMake that hardcodes the urdfdom_headers/urdfdom version I guess we can patch it.

Refactor target link libraries and dependencies in CMake.
@Tobias-Fischer Tobias-Fischer marked this pull request as ready for review March 3, 2026 21:52
@olivier-roussel
Copy link
Contributor Author

We may have reached the time limit for runners on Windows. I guess re-lauching with the cache should enable to bypass. The build is still in progress on my local Windows, will continue to debug with it alongside.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Continuation of a full rebuild for ROS Humble in Feb 2026, updating dependencies (libprotobuf, assimp, opencv, urdfdom), adding autoware packages, and applying numerous patches for Boost 1.88 / asio io_context compatibility and MSVC support.

Changes:

  • Updated dependency versions (libprotobuf, assimp, opencv, urdfdom, rattler-build) and added platform-specific handling for uvloop, zbar, and emscripten configs
  • Added many autoware packages and patches for cross-platform builds (Windows MSVC fixes, macOS format string fixes, range-v3 removal)
  • Applied Boost 1.88 compatibility patches across multiple packages (replacing deprecated io_service with io_context, from_string with make_address)

Reviewed changes

Copilot reviewed 53 out of 55 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
vinca.yaml Updated libprotobuf pin, added krb5, added autoware packages, moved foxglove_bridge, disabled mavlink/mavros
conda_build_config.yaml Bumped assimp, protobuf, opencv versions; added emscripten-specific pins
robostack.yaml Platform-specific handling for uvloop and zbar
pkg_additional_info.yaml Updated urdfdom override version, added force_torque_sensor_broadcaster cmake args
pixi.toml Bumped rattler-build, added setuptools/rattler-index, updated vinca rev
tests/ros-humble-robot-state-publisher.yaml Platform-conditional RMW for osx-arm64
.github/workflows/*.yml Bumped action versions, added Win32 long paths, custom build dir for Windows
patch/* Numerous patches for Boost 1.88 io_context migration, MSVC compatibility, range-v3 removal
AGENTS.md Added developer guide for coding agents
build_gap_report.py New script for tracking build/recipe gaps
check_patches_clean_apply.py Added --recipe filter option

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@olivier-roussel
Copy link
Contributor Author

olivier-roussel commented Mar 14, 2026

Could we bump visp from 3.6.0 to 3.7.0 in pkg_additional_info.yaml ? (currently it is pinned to 3.6.0 instead of the 3.5.0 of the previous ROS package). We managed to publish a 3.7.0 ROS package for humble but it was right after the snapshot, so I guess it would be harmless to just bump in the pkg_additional_info.yaml to be aligned with the conda forge package which is 3.7.0.
I've tested locally on a linux-64 and the build went smoothly. We can still revert if this leads to too much trouble.
Otherwise, no worries, it will wait until next rebuild.
I'm waiting for your feedback before pushing any change.

@traversaro
Copy link
Member

Could we bump visp from 3.6.0 to 3.7.0 in pkg_additional_info.yaml ? (currently it is pinned to 3.6.0 instead of the 3.5.0 of the previous ROS package). We managed to publish a 3.7.0 ROS package for humble but it was right after the snapshot, so I guess it would be harmless to just bump in the pkg_additional_info.yaml to be aligned with the conda forge package which is 3.7.0. I've tested locally on a linux-64 and the build went smoothly. We can still revert if this leads to too much trouble. Otherwise, no worries, it will wait until next rebuild. I'm waiting for your feedback before pushing any change.

Please go ahead!

@Tobias-Fischer
Copy link
Contributor

@copilot open a new pull request to apply changes based on the comments in this thread

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR continues a full rebuild effort for RoboStack ros-humble (Feb 2026), updating dependencies, adding new packages, and applying patches for compatibility with newer library versions (Boost 1.88, asio io_context migration, PCL, protobuf, etc.).

Changes:

  • Updates dependency versions (libprotobuf, assimp, libopencv, urdfdom, visp, rattler-build, vinca) and adds platform-specific handling for uvloop, zbar, and emscripten builds.
  • Adds numerous Autoware packages and patches for Windows/macOS compatibility, migrates deprecated asio::io_service to asio::io_context across multiple driver packages.
  • Updates CI workflow action versions and adds Windows-specific build improvements (long paths, custom build dir, cache cleanup).

Reviewed changes

Copilot reviewed 53 out of 55 changed files in this pull request and generated no comments.

Show a summary per file
File Description
vinca.yaml Adds new packages (autoware, foxglove_bridge), updates pinned versions, comments out mavlink/mavros
conda_build_config.yaml Bumps assimp, protobuf, opencv versions; adds emscripten-specific pins
robostack.yaml Platform-specific handling for uvloop and zbar
pkg_additional_info.yaml Updates override versions for urdfdom/visp, adds cmake args
pixi.toml Bumps rattler-build, adds setuptools/rattler-index deps, updates vinca rev
.github/workflows/testpr.yml Bumps action versions, adds Win32 long paths, cache cleanup
.github/workflows/main.yml Bumps checkout action version
tests/ros-humble-robot-state-publisher.yaml Platform-conditional RMW for osx-arm64 test
patch/* (many) Patches for asio io_context migration, MSVC compat, range-v3 removal, etc.
AGENTS.md New documentation for coding agents
build_gap_report.py New utility script for build gap analysis
check_patches_clean_apply.py Adds --recipe filter option

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Tobias-Fischer Tobias-Fischer marked this pull request as ready for review March 15, 2026 03:57
@Tobias-Fischer Tobias-Fischer merged commit aa0b231 into RoboStack:rebuild_feb_2026 Mar 15, 2026
9 of 10 checks passed
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.

6 participants