Skip to content

Full rebuild October 2026 bump ros2-distro-mutex to 0.21.0 and build number to 27 and switch to new pinning mechanism - #63

Open
mini-1235 wants to merge 7 commits into
RoboStack:mainfrom
mini-1235:full-rebuild-october-2026
Open

mini-1235 wants to merge 7 commits into
RoboStack:mainfrom
mini-1235:full-rebuild-october-2026

Conversation

@mini-1235

@mini-1235 mini-1235 commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Full rebuild for October 2026: new build number and mutex, the new vinca pinning mechanism (as in RoboStack/ros-rolling#41), and the fixes needed for the new compilers and pinned dependencies.

Rebuild bookkeeping

  • build_number 25 → 27 (the reminder in vinca.yaml now says 28 for the next one); ros2-distro-mutex 0.20.0 → 0.21.0, with the vtk run constraint moved to 9.7.0.* to match the new pin.
  • Removed the stale build_number: 26 overrides from pkg_additional_info.yaml (diagnostic_updater, robot_state_publisher, tf2_ros).
  • Refreshed rosdistro_snapshot.yaml.
  • Pinned vinca to the current upstream main (5767846).
  • ⚠️ Temporary, remove before merging: testpr.yml evicts the cached ament_cmake_python packages, which this PR's first Windows run built before the fix above.
  • The CI build cache is keyed per PR, so this PR starts from an empty cache; no cache entries need to be deleted.

New pinning mechanism

conda_build_config.yaml is now generated by vinca-pinning-render from the new vinca_pinning.yaml and should not be edited by hand (AGENTS.md is updated accordingly):

  • conda-forge pinning 2026.09.25.23.22.04, plus the migrations selected by vinca-pinning-update: elfutils0196, giflib6, go_macos, gstreamer128, hdf52, libboost190, proj99, urdfdom6, vtk970.
  • Lyrical overrides: compiler/stdlib settings (glibc 2.28, macOS 14.0 deployment target), libzenohc/libzenohcxx 1.10.1, lua 5.4, sip 6.15, Python 3.14.
  • Notable pin changes that drive the fixes below: gcc 15 / clang 21, OpenCV 5.0, CMake 4, libxml2 2.15.

Fixes

  • rosidl_generator_py (from Stop linking the Python bindings library into C++ consumers of interface packages (fixes dyld _PyExc_RuntimeError / ros-kilted#76) ros-rolling#51): C++ consumers of interface packages no longer link the Python bindings library (_PyExc_RuntimeError on macOS, Static linking issue with _rosidl_generator_py.so in build _17 ros-kilted#76). This replaces the old macOS-only patch, and adds a std_msgs regression test (tests/ros-lyrical-std-msgs*). All interface packages are rebuilt by this full rebuild, as that fix requires.
  • OpenCV 5 (calib3d split into calib + geometry, removed C API):
    • ported the rolling patches for cv_bridge, image_geometry, image_proc, image_rotate, stereo_image_proc, depth_image_proc, compressed_image_transport, theora_image_transport, rqt_image_view, apriltag_mit, apriltag_ros (Linux only), and the OpenCV part of moveit_ros_perception;
    • rtabmap 0.23.7: backported only the OpenCV 5 parts of upstream OpenCV 5 support introlab/rtabmap#1732 (not yet in a release), merged with the existing lyrical patch.
  • CMake 4: raised cmake_minimum_required for lanelet2 and mrt_cmake_modules (from rolling).
  • py_trees_js 0.7.0 moved its build backend to hatchling (patch/dependencies.yaml).
  • nav2_map_server 1.5.2: refreshed the patch (upstream now already skips the Linux uuid library on macOS; the Windows UUID/NOMINMAX parts are kept).
  • Windows / ament_cmake_python (from ros-rolling): the Python interpreter path is embedded in install(CODE ...) strings, and on Windows its backslashes became invalid CMake escapes (Invalid character escape '\b'), failing the install step of e.g. ament_cmake_test. The path is now converted to forward slashes first.
  • Added a build-up-to pixi task (from Add build-up-to Pixi task ros-rolling#47), e.g. pixi run build-up-to ros-lyrical-desktop --continue-on-failure.

Testing


This PR description was AI-generated with Claude Opus 5.5 (claude-opus-5-5).

🤖 Generated with Claude Code

mini-1235 and others added 5 commits September 29, 2026 01:38
… number to 27 and switch to new pinning mechanism

- Bump build number to 27 and ros2-distro-mutex to 0.21.0 (vtk 9.7.0
  constraint), clear stale build_number overrides, refresh the rosdistro
  snapshot.
- Switch to the new pinning mechanism: conda_build_config.yaml is now
  rendered by vinca-pinning-render from vinca_pinning.yaml (conda-forge
  pinning 2026.09.25.23.22.04 plus selected migrations and lyrical overrides).
- Pin vinca to the latest upstream commit and add a build-up-to task.
- Port rosidl_generator_py fix from ros-rolling#51 (do not link the Python
  bindings library into C++ consumers) with a std_msgs regression test.
- OpenCV 5: port rolling patches (cv_bridge, image_geometry, image_proc,
  image_rotate, stereo_image_proc, depth_image_proc, compressed/theora image
  transport, rqt_image_view, moveit_ros_perception, apriltag_mit) and backport
  the OpenCV 5 parts of introlab/rtabmap#1732 for rtabmap 0.23.7.
- CMake 4: raise cmake_minimum_required for lanelet2 and mrt_cmake_modules.
- py_trees_js 0.7.0 builds with hatchling; refresh nav2_map_server patch for
  1.5.2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Maurice <mauricealexanderpurnawan@gmail.com>
…r path

The Python interpreter path is embedded in install(CODE) strings; on Windows
its backslashes become invalid CMake escapes (e.g. \b), failing the install
step of packages such as ament_cmake_test. Port the fix from ros-rolling:
convert the path to forward slashes first. Also evict the stale cached
ament_cmake_python package in CI (do not merge that line).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Maurice <mauricealexanderpurnawan@gmail.com>
OpenCV 5 split calib3d into calib + geometry. Request and link those
components on OpenCV 5 (calib3d on older versions), as in ros-rolling.
Merged into the existing lyrical apriltag_ros patch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Maurice <mauricealexanderpurnawan@gmail.com>
The generated linux-64 workflow grew to ~521 KiB with the default batch
size, over GitHub's 500 KiB limit. With --batch_size 25 it is ~215 KiB.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Maurice <mauricealexanderpurnawan@gmail.com>
Replace CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS with explicit visibility macros
(gazebosim/ros_gz#930) to stay below the 65535 exported symbols limit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Maurice <mauricepurnawan@gmail.com>
@mini-1235 mini-1235 closed this Sep 29, 2026
@mini-1235 mini-1235 reopened this Sep 29, 2026
Port /bigobj from the rolling patch for rl_lib (ros_filter.cpp exceeds
the default object file section limit on MSVC).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Maurice <mauricepurnawan@gmail.com>
@mini-1235 mini-1235 closed this Sep 30, 2026
@mini-1235 mini-1235 reopened this Sep 30, 2026
Brings in new packages (mobile_robot_simulator, yasmin*) and removes the
temporary rm -rf in testpr now that all builds pass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Maurice <mauricepurnawan@gmail.com>
@mini-1235

Copy link
Copy Markdown
Contributor Author

@traversaro @Tobias-Fischer @sea-bass

Ready for review! I honestly didn't expect to finish the rebuild before October (it is only about 10 hours away in my timezone) so I named the title "October" :) Feel free to change 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.

1 participant