Skip to content

chore: build perl 5.26.2 on Debian 13 (trixie) - #42

Closed
chylli-deriv wants to merge 1 commit into
masterfrom
debian_trixie_perl-5.26.2
Closed

chore: build perl 5.26.2 on Debian 13 (trixie)#42
chylli-deriv wants to merge 1 commit into
masterfrom
debian_trixie_perl-5.26.2

Conversation

@chylli-deriv

Copy link
Copy Markdown
Collaborator

Why

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 dropped libnsl.so from libc6-dev, so on a trixie userland every XS link probe dies:

/usr/bin/cc ... -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc assertlib.c -o assertlib -lexpat
/usr/bin/ld: cannot find -lnsl: No such file or directory
Can't link/include C library 'expat.h', 'expat', aborting.

XML::Parser and ZMQ::LibZMQ3 stop 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:

-      image: debian:bullseye
+      image: debian:trixie

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:trixie container (gcc 14.2.0) before pushing:

  • Configure, make, make test (All tests successful.), make install all pass
  • perllibs='-lpthread -ldl -lm -lcrypt -lutil -lc' — no -lnsl
  • XML::Parser@2.46 and ZMQ::LibZMQ3@1.19 both install without libnsl-dev — i.e. the exact two that fail today

Then confirmed end to end on CI (native amd64), which produced:

gccversion='14.2.0'
perllibs='-lpthread -ldl -lm -lcrypt -lutil -lc'

One caveat worth recording: an initial local run reported 4 failures, all in dist/Net-Ping with icmp socket error - Operation not permitted. That is rootless podman refusing raw ICMP sockets, not a Debian 13 regression — re-running with --cap-add=NET_RAW gave All tests successful.

Heads up on the diff size

The [ci skip] compile 5.26.2 commit is the artifact pushed by this repo's own auto-compile workflow. It reads roughly 78 files changed, 43 insertions(+), 33068 deletions(-).

That large deletion count is expected, not a mistake. rebuild.sh does rm -rf bin lib man and the workflow then moves the freshly installed tree into place, so anything not produced by make install disappears — in practice bin/cpanm, bin/c2ph, bin/pstruct and lib/site_perl/.../App/cpanminus (fatscript.pm alone 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

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>
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

PackageVersionScoreDetails

Scanned Manifest Files

@chylli-deriv

Copy link
Copy Markdown
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.

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