ci: pin PyO3 extension glibc to 2.17 on linux-x86_64#17
Conversation
The native linux-x86_64 PyO3 extension was being linked against the ubuntu-latest runner's system glibc (currently 2.39), but the wheel ships as manylinux_2_17_x86_64 — claiming to work on glibc >= 2.17. A user on Ubuntu 22.04 (glibc 2.35) or Debian 12 (glibc 2.36) would download the wheel and get a runtime symbol error when Python loaded _native.abi3.so. Use cargo-zigbuild --target x86_64-unknown-linux-gnu.2.17 for the native linux-x86_64 PyO3 extension build, mirroring what we already do for linux-aarch64 cross. CLI binaries are unaffected — they remain plain musl static builds. cargo-zigbuild is now installed for any Linux runner, not just the linux_cross path.
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis pull request modifies the GitHub Actions workflow for native builds to unconditionally install Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Possibly related PRs
Poem
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The native linux-x86_64 PyO3 extension was being linked against the ubuntu-latest runner's system glibc (currently 2.39), but the wheel ships as manylinux_2_17_x86_64 — claiming to work on glibc >= 2.17.
A user on Ubuntu 22.04 (glibc 2.35) or Debian 12 (glibc 2.36) would download the wheel and get a runtime symbol error when Python loaded _native.abi3.so.
Use cargo-zigbuild --target x86_64-unknown-linux-gnu.2.17 for the native linux-x86_64 PyO3 extension build, mirroring what we already do for linux-aarch64 cross. CLI binaries are unaffected — they remain plain musl static builds.
cargo-zigbuild is now installed for any Linux runner, not just the linux_cross path.
Summary by CodeRabbit