Skip to content

Rebuild against manylinux_2_28 for the new libstdc++ ABI - #258

Merged
ryanmrichard merged 1 commit into
masterfrom
rebuild_manylinux_2_28
Sep 17, 2026
Merged

ryanmrichard merged 1 commit into
masterfrom
rebuild_manylinux_2_28

Conversation

@ryanmrichard

Copy link
Copy Markdown
Member

Empty commit to trigger a republish. Part of the ecosystem-wide ABI rebuild.

Why

The published wheels were built on manylinux2014, which cannot emit the new libstdc++ ABI — it defines _GLIBCXX_USE_DUAL_ABI 0, so -D_GLIBCXX_USE_CXX11_ABI=1 is silently discarded. C++ consumers on gcc-14/clang-18 then fail to link the wheels C++ SDK with undefined references to the __cxx11 / B5cxx11 manglings.

No PR has ever built a manylinux wheel — build_pypi_dist runs only from merge.yaml, and test_pip_build does not use cibuildwheel — which is how this survived.

What this picks up

Already proven on two canaries

  • nwchemex-utilities 0.1.47 now exports _ZN9utilities8printing9Demangler8demangleB5cxx11EPKc (new ABI).
  • nwchemex-parallelzone 0.1.45 ships no vendored MPI — absolute /opt/homebrew/opt/open-mpi/lib/libmpi.40.dylib install name instead of @loader_path, plus 14 new-ABI symbols.

Locally, all 11 packages build on manylinux_2_28 and a full-stack consumer links and runs against them on gcc-14 and clang-18, while the control against the published wheels fails with CI exact symbols.

🤖 Generated with Claude Code

manylinux2014 cannot emit the new libstdc++ ABI: it defines
_GLIBCXX_USE_DUAL_ABI 0, so -D_GLIBCXX_USE_CXX11_ABI=1 is discarded. C++
consumers on gcc-14/clang-18 therefore fail to link the wheels C++ SDK with
undefined references to the __cxx11 / B5cxx11 manglings.

This empty commit triggers a republish from the manylinux_2_28 image with
nwxcmake 0.2.6, and picks up NWChemEx/.github@620e081 (no vendored OpenMPI in
the macOS wheels).

Already confirmed on two canaries: nwchemex-utilities 0.1.47 now exports
Demangler::demangle[abi:cxx11], and nwchemex-parallelzone 0.1.45 ships no
vendored MPI (absolute /opt/homebrew install name) plus 14 new-ABI symbols.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@ryanmrichard
ryanmrichard merged commit 075e22f into master Sep 17, 2026
15 checks passed
@ryanmrichard
ryanmrichard deleted the rebuild_manylinux_2_28 branch September 17, 2026 02:41
@github-actions

Copy link
Copy Markdown
Contributor

🚀 [bumpr] Bumped!
New version:v0.0.113
Changes:v0.0.112...v0.0.113

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