Skip to content

Build Linux wheels with gcc 10 on glibc 2.17; drop libstdc++ and cibuildwheel - #23

Merged
jonwright merged 4 commits into
mainfrom
jonwright/manylinux2014-gcc10
Sep 30, 2026
Merged

jonwright merged 4 commits into
mainfrom
jonwright/manylinux2014-gcc10

Conversation

@jonwright

Copy link
Copy Markdown
Owner
  • build_extension: compile C++ with -fno-threadsafe-statics -fno-exceptions -fno-rtti (MSVC equivalents too) and link with the C driver, so the extension needs only libc/libm. Add --build-dir for parallel target builds.
  • Use C headers (stddef/stdint/string) in the C++ sources; no C++ standard library headers are needed any more (builds with gcc, clang, MSVC).
  • tools/elf_check.py: fail on unexpected NEEDED libs and derive the manylinux tag from the binary's real glibc symbol references.
  • ci: one build-linux job builds x86_64/aarch64/ppc64le natively in the pypa manylinux2014 images (gcc 10; gcc 7 measured ~1.8x slower on kcb), separate Windows job, qemu tests for aarch64/ppc64le, old-glibc test job (Ubuntu 18.04, CentOS 7), and a PyPI publish job gated on all tests.
  • Remove the stale cibuildwheel release.yml.

jonwright and others added 4 commits September 30, 2026 12:39
…ildwheel

- build_extension: compile C++ with -fno-threadsafe-statics -fno-exceptions
  -fno-rtti (MSVC equivalents too) and link with the C driver, so the
  extension needs only libc/libm. Add --build-dir for parallel target builds.
- Use C headers (stddef/stdint/string) in the C++ sources; no C++ standard
  library headers are needed any more (builds with gcc, clang, MSVC).
- tools/elf_check.py: fail on unexpected NEEDED libs and derive the
  manylinux tag from the binary's real glibc symbol references.
- ci: one build-linux job builds x86_64/aarch64/ppc64le natively in the pypa
  manylinux2014 images (gcc 10; gcc 7 measured ~1.8x slower on kcb), separate
  Windows job, qemu tests for aarch64/ppc64le, old-glibc test job
  (Ubuntu 18.04, CentOS 7), and a PyPI publish job gated on all tests.
- Remove the stale cibuildwheel release.yml.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…-host)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
manylinux2014 is end-of-life; 2_28 is the common maintained image on all
three arches. Old-glibc tests now run on Ubuntu 20.04 and manylinux_2_28.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…0.04

The silx index page links to /data/distributions/... which 404s, so
--find-links cannot work; files are served at /pub/wheelhouse/. Ubuntu
20.04's pip is too old to accept manylinux_2_17 tags.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@jonwright
jonwright merged commit 00d6ae6 into main Sep 30, 2026
40 checks passed
@jonwright
jonwright deleted the jonwright/manylinux2014-gcc10 branch September 30, 2026 16:08
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