Skip to content

Add fuse - #108

Merged
Tobias-Fischer merged 9 commits into
mainfrom
ports/fuse
Oct 25, 2026
Merged

Tobias-Fischer merged 9 commits into
mainfrom
ports/fuse

Conversation

@Tobias-Fischer

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

Copy link
Copy Markdown
Collaborator

Ports RoboStack/ros-lyrical#85 by @baradejoo: adds fuse (all fuse packages and tf2_2d) to the shared selection, on all platforms.

  • fuse_graphs (shared patch): -Wno-maybe-uninitialized only for GCC; clang rejects it with -Werror.
  • Windows: CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS for the fuse libraries (shared/pkg_additional_info.yaml); fuse_graphs (shared patch) and fuse_constraints (.win.patch) skip their GCC/Clang -Wall -Werror with MSVC; fuse_core (.win.patch) defines _USE_MATH_DEFINES publicly for M_PI; fuse_models (jazzy .win.patch, fuse 1.1.6) compiles with /bigobj.
  • fuse_viz (lyrical, rolling): Qt6 like their rviz; jazzy's rviz is Qt5, so jazzy needs no patch. humble has no fuse release.

Recipe test: fuse_optimizers' fixed_lag_smoother_node starts and keeps running (shared/tests/ros2-fuse-optimizers.yaml), now on Windows too.

CI (jazzy, lyrical): lyrical win-64 builds all fuse packages and the smoother node starts; jazzy win-64 needed the fuse_models /bigobj fix.

Built locally

  • lyrical, osx-arm64: all fuse packages incl. fuse_viz and their recipe tests; fuse_optimizers' fixed_lag_smoother_node and batch_optimizer_node are installed and the smoother starts.
  • jazzy, linux-64 (Qt5, no fuse_viz patch): all 11 fuse packages incl. fuse_viz, with their recipe tests.
  • rolling, linux-aarch64 (Qt6 fuse_viz patch): all fuse packages incl. fuse_viz, with their recipe tests.

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. The syncs are merged now; CI builds jazzy and lyrical (build: labels).

🤖 Generated with Claude Code

Tobias-Fischer and others added 2 commits October 19, 2026 09:18
Ports RoboStack/ros-lyrical#85: fuse_graphs adds the GCC-only
-Wno-maybe-uninitialized only for GCC (clang rejects it with -Werror), and
fuse_viz builds against Qt6 where rviz does (lyrical, rolling).

Co-authored-by: Kamil Baradziej <49471097+baradejoo@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…[skip ci]

Turns the local checks of this PR into a recipe test, so later rebuilds keep them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Tobias-Fischer

Copy link
Copy Markdown
Collaborator Author

Human Tobi: looks good to go once the sync PRs are in

@Tobias-Fischer Tobias-Fischer added build:jazzy PR build: build only jazzy (with other build:<distro> labels: only those) build:lyrical PR build: build only lyrical (with other build:<distro> labels: only those) labels Oct 24, 2026
Tobias-Fischer and others added 2 commits October 25, 2026 07:24
Export all symbols of the fuse libraries, skip GCC/Clang-only -Wall -Werror
with MSVC (fuse_graphs, fuse_constraints), define _USE_MATH_DEFINES on
fuse_core and its dependents for M_PI, and run the fuse_optimizers smoke
test on Windows as well.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fuse 1.1.6's imu_2d.cpp exceeds the object file section limit (C1128);
lyrical's 1.3.4 builds without it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Tobias-Fischer Tobias-Fischer changed the title Add fuse (not on Windows) Add fuse Oct 24, 2026
@Tobias-Fischer Tobias-Fischer added build:humble PR build: build only humble (with other build:<distro> labels: only those) build:win PR build: only the win platforms (remove for a full build before merging) labels Oct 24, 2026
@Tobias-Fischer Tobias-Fischer added build:rolling PR build: build only rolling (with other build:<distro> labels: only those) and removed build:win PR build: only the win platforms (remove for a full build before merging) labels Oct 25, 2026
Tobias-Fischer and others added 3 commits October 25, 2026 12:12
imu_2d.cpp has more sections than an object file can hold (C1128: number of
sections exceeded object file format limit), seen with rolling's newer
dependencies.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The macOS jobs ran for hours: after SIGTERM fixed_lag_smoother_node kept
running and held the test's output open, so rattler-build waited for it
(as rko_lio's test did). Kill it after 3 s and wait.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

ABI check (linux-64)

About this check

Each package this pull request built, compared with its newest released build (tools/abi_check.py, libabigail):

  • compatible / additions: the package can be bumped on its own;
  • soname / incompatible: the packages that depend on it need a rebuild (build number bump) in the same pull request.

Exported symbols are compared (the released packages are stripped, so struct layouts aren't); unchanged installed headers rule out layout and inline changes, changed ones are listed for review. Dependents to rebuild are the released ones linking to a changed library. A changed pin is part of the comparison.

@Tobias-Fischer
Tobias-Fischer enabled auto-merge (squash) October 25, 2026 11:02
@Tobias-Fischer
Tobias-Fischer enabled auto-merge (squash) October 25, 2026 11:07
@Tobias-Fischer
Tobias-Fischer merged commit e4b09b7 into main Oct 25, 2026
52 of 58 checks passed
@Tobias-Fischer
Tobias-Fischer deleted the ports/fuse branch October 25, 2026 11:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build:humble PR build: build only humble (with other build:<distro> labels: only those) build:jazzy PR build: build only jazzy (with other build:<distro> labels: only those) build:lyrical PR build: build only lyrical (with other build:<distro> labels: only those) 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