Skip to content

fix(acados): pin CasADi to 3.7.2 for Humble ARM64 - #7307

Merged
xmfcx merged 1 commit into
autowarefoundation:mainfrom
xmfcx:fix/acados-casadi-wheel
Sep 7, 2026
Merged

fix(acados): pin CasADi to 3.7.2 for Humble ARM64#7307
xmfcx merged 1 commit into
autowarefoundation:mainfrom
xmfcx:fix/acados-casadi-wheel

Conversation

@xmfcx

@xmfcx xmfcx commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Description

Pin CasADi to 3.7.2 in the acados role. The 3.8.0 ARM64 wheel requires GLIBCXX_3.4.32, which Ubuntu 22.04 does not provide. This breaks the path optimizer code generator and blocks Humble image publication. One default version keeps both architectures aligned.

The upstream fix is available in nightly wheels. The latest stable release remains 3.8.0.

The separate GeographicLib setup failure in the CUDA ARM64 job still needs a successful CI run before Humble image publication can complete.

AI usage

AI usage: Written with Codex after an investigation of the failed Core and image workflows, with local reproduction and compatibility tests.

Self-review: Simple PR, done.

Verification: CasADi 3.8.0 reproduced the ARM64 import failure, and 3.7.2 passed import, solver, and Humble AMD64 code generation tests. Repository checks passed, but the full image workflow did not run locally.

ARM64 wheel inspection

  • Binary inspection with readelf showed that 3.8.0 requires GLIBCXX_3.4.32 in both _casadi.so and libcasadi.so.3.7.
  • The corresponding 3.7.2 requirements were GLIBCXX_3.4.14 and GLIBCXX_3.4.19.

Humble AMD64 code generation

  • The real path optimizer code generator completed in the existing ghcr.io/autowarefoundation/autoware:universe-humble image with CasADi 3.7.2, exit status 0.
  • The generator produced acados_solver_curvilinear_bicycle_model_spatial.c and its header.
  • The full Ansible role and solver compilation did not run.

ARM64 import and solver

Debian 12, Python 3.10, QEMU 8.2.2 userspace emulation.

  • The first container launch failed with exit status 125 because a read-only mount lacked its mountpoint. The retry used an existing mountpoint.
  • CasADi 3.8.0 failed at import with GLIBCXX_3.4.32, exit status 1.
  • CasADi 3.7.2 printed aarch64 3.7.2 and rootfinder result: 1.4142135623730951, exit status 0.
  • Native ARM64 builds did not run.

Repository checks

  • YAML parsing passed and selected casadi==3.7.2.
  • pre-commit run --files ansible/roles/acados/defaults/main.yaml passed all eight applicable hooks. The other hooks skipped this YAML file.
  • git diff --check passed.
  • GitHub Actions and Docker image publication did not run on this branch.

CasADi 3.8.0 ARM64 wheels require GLIBCXX_3.4.32, which Ubuntu 22.04 does not provide.

Signed-off-by: Mete Fatih Cırıt <mfc@autoware.org>
@xmfcx xmfcx added the type:bug Software flaws or errors. label Sep 6, 2026
@xmfcx xmfcx self-assigned this Sep 6, 2026
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

@xmfcx xmfcx added the run:health-check Run health-check label Sep 6, 2026
@xmfcx
xmfcx marked this pull request as ready for review September 6, 2026 13:02
@xmfcx
xmfcx merged commit 3354a27 into autowarefoundation:main Sep 7, 2026
45 of 54 checks passed
@xmfcx
xmfcx deleted the fix/acados-casadi-wheel branch September 7, 2026 09:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run:health-check Run health-check type:bug Software flaws or errors.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3.8.0 manylinux_2_28_aarch64 wheel requires GLIBCXX_3.4.32 (GCC 13); cannot import on Ubuntu 22.04 / Debian 12

2 participants