Skip to content

Add beluga_amcl and beluga_ros (Linux) - #112

Open
Tobias-Fischer wants to merge 2 commits into
mainfrom
ports/beluga
Open

Tobias-Fischer wants to merge 2 commits into
mainfrom
ports/beluga

Conversation

@Tobias-Fischer

@Tobias-Fischer Tobias-Fischer commented Oct 18, 2026 •

Copy link
Copy Markdown
Collaborator

Ports RoboStack/ros-jazzy#298 by @gftabor (continuing RoboStack/ros-jazzy#267 by @Timple): adds beluga_amcl and beluga_ros (with beluga) to the shared selection on Linux. Beluga 2.1.1 is released for humble and jazzy.

  • The PRs' additional recipes and sophus dummy package aren't needed: the packages are in the rosdistro, and conda-forge's sophus is rebuilt for Eigen 5 (Increase Eigen compatibility conda-forge/sophus-feedstock#5).
  • beluga (shared patch): <Eigen/Geometry> instead of the Eigen-internal Eigen/src/Geometry/AngleAxis.h (rejected by Eigen 5), BUILD_TESTING off by default (beluga is a plain CMake package that builds its tests otherwise), and in the on_motion policy a flag plus the pose instead of std::optional<Pose>: GCC 15 fails to instantiate std::optional<Sophus::SE3> ("initializations for multiple members"), which beluga_amcl's NDT 3D node hits too, not only the tests.
  • macOS: libc++ lacks std::execution::sequenced_policy.

Built locally

  • jazzy, linux-64: beluga, beluga_amcl, beluga_ros with the patch.
  • jazzy, linux-aarch64 (multipass VM): beluga, beluga_amcl (with its recipe tests) and beluga_ros. Compiling beluga_amcl's 3D NDT node needs more than 6 GB of memory for a single compiler process; CI's runners have more.
  • humble, linux-64: beluga, beluga_amcl, beluga_ros with their recipe tests. lyrical and rolling have no beluga release.

Prepared and built on top of the current rosdistro syncs (#62 humble, #61 jazzy, #60 lyrical, #99 rolling) merged together, so it targets their package versions: merge after them. CI is held with [skip ci] until the syncs are in.

🤖 Generated with Claude Code

Tobias-Fischer and others added 2 commits October 19, 2026 09:18
Ports RoboStack/ros-jazzy#298 and #267. Beluga 2.1.1 is released for humble
and jazzy, and conda-forge's sophus works (Eigen 5), so no additional
recipes or dummy package are needed. The beluga patch includes
<Eigen/Geometry> instead of an Eigen-internal header (rejected by Eigen 5)
and defaults BUILD_TESTING to OFF (its tests hit a GCC 15 constexpr
std::optional error). macOS: libc++ lacks std::execution::sequenced_policy.

Co-authored-by: Griffin Tabor <14334346+gftabor@users.noreply.github.com>
Co-authored-by: Tim Clephas <5036851+Timple@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
GCC 15 fails to instantiate std::optional<Sophus::SE3> (union storage
"initializations for multiple members"), which beluga_amcl's NDT 3D node
hits through the on_motion policy, not only the tests. Store the latest
pose as a flag plus the pose instead; same behaviour.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Tobias-Fischer
Tobias-Fischer marked this pull request as ready for review October 19, 2026 01:42
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