Skip to content

rolling: rosdistro snapshot 2026-10-16, on the shared pinning (full rebuild) - #99

Draft
Tobias-Fischer wants to merge 20 commits into
mainfrom
sync/rolling-2026-10-16
Draft

Tobias-Fischer wants to merge 20 commits into
mainfrom
sync/rolling-2026-10-16

Conversation

@Tobias-Fischer

Copy link
Copy Markdown
Collaborator

Note

Draft, CI held on purpose: the newest commit is [skip ci], so that this full rebuild (about 3 GB of PR build cache) doesn't push the jazzy (#61) and lyrical (#60) sync builds out of the cache. It builds with the next push that doesn't have [skip ci]. Merge after #61 and #62, whose overrides keep humble and jazzy on Qt5 (this PR brings the shared Qt6 mapping, like #60).

Rolling has no rosdistro sync tags, so this updates its snapshot from rosdistro master (2026-10-16), with a full rebuild. It touches only distros/rolling and the shared pinning, Qt mapping and tests:

  • Shared conda-forge pinning (rolling's part of All distributions on the shared conda-forge pinning (2026.10.09.13.11.31) #82): rolling drops its own conda-forge-pinning version and uses shared/pinning/ (2026.10.09.13.11.31), the same pins as the other sync PRs. The other distributions' conda_build_config.yaml only get the comment of the new openexr override; the value is what they pin already.
  • Qt6 mapping shared (shared/robostack.yaml), so rolling's per-package Qt workarounds go.
  • Snapshot: new versions, 33 packages added and 10 removed (system_modes and its patch among them). build_number 29 → 32, mutex 0.22.0 → 0.23.0.

A local full rebuild on osx-arm64 builds all 954 packages, and check-patches passes for every platform (227 recipes). Fixes it needed:

  • Patches now upstream, dropped: rcutils, rviz_rendering (macOS), laser_filters, gz_ros2_control (macOS), moveit_ros_control_interface, ros_gz_bridge (Windows).
  • Lyrical's patches for the same sources: foxglove_bridge (Windows), microstrain_inertial_driver, mujoco_3d_lidar, moveit_ros_perception, rmf_utils (Windows exports).
  • Refreshed or extended:
    • foxglove_bridge 3.6.1 (Foxglove SDK 0.29.2 checksums for macOS and Windows)
    • rviz_ogre_vendor 16.0.4 (our sysroot patch is now OGRE patch 0008, applied after upstream's new 0007)
    • rqt_image_view, urdf_parser_plugin (Windows)
  • rviz 16 / tf2_ros 0.46:
    • rviz_satellite, vision_msgs_rviz_plugins, moveit_ros_visualization and moveit_task_constructor_visualization include the rviz_common / Ogre headers they use
    • sbg_driver passes the node by reference to the tf2_ros broadcasters
  • ur_robot_driver 7.1.0 on ros2_control 6.12: 6.12 removed pointer-based interfaces, and the driver now exports handles that mirror its members (upstream: ur_robot_driver doesn't build on Rolling (and soon Lyrical): pointer-based StateInterface/CommandInterface removed in ros2_control 6.12 UniversalRobots/Universal_Robots_ROS2_Driver#2031 / #2032).
  • realsense2_camera 4.59.1: accepts librealsense 2.58.3, as conda-forge has no 2.59 yet. librealsense2 is pinned to 2.58.3 like the other distributions.
  • py_trees_js 0.7: builds with hatchling.
  • Shared tests:
    • std_msgs: CMake gets the environment's Python like vinca's build scripts (on macOS it found Xcode's 3.9)
    • tf2_ros and robot_state_publisher smoke tests: more time on loaded machines
    • rcutils: Python import only on humble/jazzy

🤖 Generated with Claude Code

Tobias-Fischer and others added 14 commits October 17, 2026 19:10
)

Drops the distribution's own conda-forge-pinning version and migrations: it uses
shared/pinning/conda_forge.yaml (2026.10.09.13.11.31), with the package fixes the new
pins needed (python_qt_binding on PyQt6 on macOS, rtabmap 0.23.13, rviz_visual_tools
4.2.0 without the temporary recipe). Other distributions keep their own pinning
version until their PR; their conda_build_config.yaml only gets the comment of the
new shared openexr override (the value, 3.4, is what they pin already).

shared/robostack.yaml maps the Qt5 rosdep keys to Qt6 (qt6-main, pyqt6), so rolling's
per-package Qt workarounds go. humble and jazzy keep Qt5 through overrides that their
own sync PRs add: merge those first. The rcutils test imports its Python module only
on humble and jazzy (rcutils 7 no longer installs it).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`rs rolling update-snapshot` (rolling has no sync tags: rosdistro master): new
versions, 33 packages added and 10 removed (system_modes and its patch among them).
Full rebuild: build_number 29 -> 32, mutex 0.22.0 -> 0.23.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Found by a local full rebuild (osx-arm64) and check-patches (all platforms):
- upstream now, dropped: rcutils (Threads, fault-injection initializer),
  rviz_rendering (macOS resize loop), laser_filters (CreateTimerROS), gz_ros2_control
  (format strings), moveit_ros_control_interface (<unordered_set>), ros_gz_bridge
  (Windows export macros)
- lyrical's patches for the same sources: foxglove_bridge (Windows),
  microstrain_inertial_driver, mujoco_3d_lidar, moveit_ros_perception
- foxglove_bridge 3.6.1: Foxglove SDK 0.29.2 checksums for macOS and Windows
- rviz_ogre_vendor 16.0.4: its own 0007 patch now switches xcodebuild to xcrun; ours
  (0008, applied after it) still drops the sysroot override, so OGRE uses conda's SDK
- rqt_image_view, urdf_parser_plugin (Windows): refreshed context
- py_trees_js 0.7 builds with hatchling (as in humble/jazzy)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On macOS, FindPython3 prefers a framework Python (Xcode's 3.9), and rolling's
ament_package needs 3.11+ (importlib.resources.abc): the C++ consumer test failed,
std_msgs was dropped, and the 321 packages depending on it couldn't resolve.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PYTHON_EXECUTABLE, Python_EXECUTABLE, Python3_EXECUTABLE and
Python3_FIND_STRATEGY=LOCATION, as build_ament_cmake.sh does, instead of only
Python3_EXECUTABLE.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
During a full rebuild the machine is loaded: the router started late, the test's 10 s
ran out and shut the context down while static_transform_publisher was still starting
("could not create publisher: context_impl is shutdown"), so tf2_ros and everything
depending on it was dropped. 60 s and 30 router checks; on its own the test passes
in about 6 s.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…eouts

- rviz_satellite, vision_msgs_rviz_plugins: include frame_manager_iface.hpp /
  logging.hpp themselves (rviz_common 16 no longer pulls them in)
- sbg_driver: the tf2_ros broadcasters take the node by reference (NodeInterfaces)
- robot_state_publisher smoke test: 60 s instead of 10 s ("Robot initialized" came
  after 11 s during the full rebuild)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Both apply to rolling's sources (cartographer_ros is the same 2.0.9003): the
cartographer nodes pass the node by reference to the exported NodeInterfaces
constructor (LNK2019 on MSVC), and rmf_utils exports its symbols on Windows (as in
lyrical and jazzy).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
rolling's own cartographer_ros patch already passes the nodes by reference (the
MSVC LNK2019 fix), so lyrical's Windows patch only conflicted with it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ommon 16)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nd librealsense2

- ur_robot_driver 7.1.0 still exports its interfaces with value pointers, which
  ros2_control 6.12 removed (upstream hasn't ported it yet): it now exports handles
  (on_export_*_interfaces) that mirror the same members, copied around read() and
  write(); its read/write logic is unchanged
- moveit_ros_visualization: include rviz_common's logging.hpp and
  frame_manager_iface.hpp itself (rviz_common 16 no longer pulls them in)
- librealsense2 2.58.3 like humble/jazzy/lyrical: conda-forge has no 2.59.1 yet

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…n on rviz 16

- realsense2_camera 4.59.1 asks for librealsense 2.59.0, conda-forge has 2.58.3 (as
  the other distributions use, librealsense-feedstock#91): accept 2.58.3; it builds
- moveit_task_constructor_visualization: include OgreSceneManager.h itself (rviz 16
  headers no longer pull it in)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Plain copies both ways lost the driver's own command writes (async success flags and
NO_NEW_CMD_ resets from the async thread, mode-switch resets) and service writes to the
handles; keep the last agreed value and copy only what changed (review on
UniversalRobots/Universal_Robots_ROS2_Driver#2032).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The full rolling rebuild needs about 3 GB of PR build cache, which the jazzy and
lyrical sync builds still use. The next push without [skip ci] starts the build.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Tobias-Fischer Tobias-Fischer added the build:rolling PR build: build only rolling (with other build:<distro> labels: only those) label Oct 17, 2026
Tobias-Fischer and others added 6 commits October 18, 2026 05:24
As upstream (UniversalRobots/Universal_Robots_ROS2_Driver#2032, 062a97e): the
interfaces checkAsyncIO() works on, which service callbacks write too, aren't mirrored
anymore; checkAsyncIO() reads their handles and publishes its resets before the
success flags. The mirrored ones use non-blocking locks and stay unsynced until
published; uninitialized members behind interfaces get defaults. CI stays held
([skip ci]) until the cache has room.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ies, every written flag published)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…reads, non-blocking resets)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…eferred writes)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Foxglove SDK 0.29.2 has the same parameter.hpp as 0.28, which MSVC's /permissive-
(C++20) rejects.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…[skip ci]

Same as lyrical: rosidl_runtime_c's primitive and string sequences carry the
rosidl_buffer flags (ros2/rosidl#942), which rosidl_runtime_rs 0.7 matches,
but rosidl_generator_rs 0.5.0 pins the generated crates to 0.6
(RoboStack/ros-lyrical#17, ros2-rust/ros2_rust#659). Pin 0.7.

Also point gz_ros2_control's plugin path hook at bin/ on Windows, where the
plugin DLL is installed (#104).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build:rolling PR build: build only rolling (with other build:<distro> labels: only those)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant