chore: build perl 5.26.2 on Debian 13 (trixie) - #42
Closed
chylli-deriv wants to merge 1 commit into
Closed
Conversation
Configure records the build host's library set in $Config{perllibs}, and
every later XS build links against it. The committed perl was built on
bullseye, so perllibs still contains -lnsl. Debian 13 no longer ships
libnsl.so via libc6-dev, so on a trixie userland every XS link probe
fails with "cannot find -lnsl" -- XML::Parser and ZMQ::LibZMQ3 stop
configuring, which breaks downstream CI.
Build on debian:trixie so the recorded library set matches the runtime
environment. Verified locally in a debian:trixie container (gcc 14.2.0)
with the two existing patches and no new ones:
Configure / make / make test / make install all pass
perllibs='-lpthread -ldl -lm -lcrypt -lutil -lc' (no -lnsl)
XML::Parser@2.46 and ZMQ::LibZMQ3@1.19 install without libnsl-dev
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.OpenSSF Scorecard
Scanned Manifest Files |
Collaborator
Author
|
Wrong direction — this targeted master directly. Reopening as a PR from the fork into the debian_trixie_perl-5.26.2 branch instead. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Configurerecords the build host's library set in$Config{perllibs}, and every later XS build links against it. The committed perl was built on bullseye, soperllibsstill contains-lnsl. Debian 13 droppedlibnsl.sofromlibc6-dev, so on a trixie userland every XS link probe dies:XML::ParserandZMQ::LibZMQ3stop configuring, which cascades into a pile of missing modules downstream. This blocks moving the perl base image to Debian 13.The change
One line — the build container in
build_workflow.yml:No source patches were added. perl 5.26.2 builds clean on gcc 14.2.0 with the two patches already in
patches/.Verification
Reproduced in a local
debian:trixiecontainer (gcc 14.2.0) before pushing:Configure,make,make test(All tests successful.),make installall passperllibs='-lpthread -ldl -lm -lcrypt -lutil -lc'— no-lnslXML::Parser@2.46andZMQ::LibZMQ3@1.19both install withoutlibnsl-dev— i.e. the exact two that fail todayThen confirmed end to end on CI (native amd64), which produced:
One caveat worth recording: an initial local run reported 4 failures, all in
dist/Net-Pingwithicmp socket error - Operation not permitted. That is rootless podman refusing raw ICMP sockets, not a Debian 13 regression — re-running with--cap-add=NET_RAWgaveAll tests successful.Heads up on the diff size
The
[ci skip] compile 5.26.2commit is the artifact pushed by this repo's own auto-compile workflow. It reads roughly78 files changed, 43 insertions(+), 33068 deletions(-).That large deletion count is expected, not a mistake.
rebuild.shdoesrm -rf bin lib manand the workflow then moves the freshly installed tree into place, so anything not produced bymake installdisappears — in practicebin/cpanm,bin/c2ph,bin/pstructandlib/site_perl/.../App/cpanminus(fatscript.pmalone is 25k lines).bin/goes from 34 files to 31.This matches what previous CI-compiled commits on this repo have always produced, and it was checked against the consumers: none of them use the committed cpanm — they each bootstrap their own from
https://cpanmin.us, and the image chain inherits that.🤖 Generated with Claude Code