Your message dated Sat, 23 Aug 2025 23:34:04 +0000
with message-id <[email protected]>
and subject line Bug#1111915: fixed in libmemcached-libmemcached-perl 
1.001801+dfsg-6
has caused the Debian Bug report #1111915,
regarding libmemcached-libmemcached-perl: FTBFS with Perl 5.42: not a CODE 
reference
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1111915: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1111915
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: libmemcached-libmemcached-perl
Version: 1.001801+dfsg-5
Severity: important
Tags: ftbfs forky sid patch
User: [email protected]
Usertags: perl-5.42-transition

This package fails to build with Perl 5.42 (currently in experimental.)

  
https://perl.debian.net/rebuild-logs/perl-5.42/libmemcached-libmemcached-perl_1.001801+dfsg-5/libmemcached-libmemcached-perl_1.001801+dfsg-5+b3_amd64-2025-08-23T12:42:44Z.build

  "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- libmemcached.bs 
blib/arch/auto/Memcached/libmemcached/libmemcached.bs 644
  Substitution replacement not terminated at (eval 459) line 8, <GEN0> line 994.
  mv libmemcached.xsc libmemcached.c
[...]
  Not a CODE reference at 
/build/libmemcached-libmemcached-perl-0Dp8aB/libmemcached-libmemcached-perl-1.001801+dfsg/blib/lib/Memcached/libmemcached.pm
 line 492.
  # Looks like your test exited with 255 before it could output anything.
  t/10-set-get.t ................... 
  1..14
  Dubious, test returned 255 (wstat 65280, 0xff00)
  Failed 14/14 subtests 

It turns out that the package bundles a customized fork of an old
ExtUtils::ParseXS version, which is no longer quite compatible with the
main typemap file bundled with Perl core. See the description in the
attached proposed patch for details. This seems to work for me with both
Perl 5.40 and 5.42.

While we modify the Debian package build quite a bit by linking against
the system libmemcached, I suspect (but haven't tested) that this issue
also happens with an unmodified upstream build. The test suite needs a
running memcached server for the most part, so CPAN testers don't really
cover the full functionality. Also, they don't show the full build log,
so the "Substitution replacement not terminated" symptom is not visible.

I also briefly tried removing the bundled EU::ParseXS stuff, but the
test suite totally blew up because the module typemap file relies on the
customizations (at least $length_var). So I suppose the best we can do
is patch the bundled one to keep it working.

If you want to test changes against Perl 5.42 in experimental and run
into uninstallability problems, there is a test repository of rebuilt
Debian sid packages for amd64 available at <https://perl.debian.net/>.

Thanks for your work on Debian,
-- 
Niko Tyni   [email protected]
>From 9d4c0f0a9042678786ff58243b8fe91f8e90596e Mon Sep 17 00:00:00 2001
From: Niko Tyni <[email protected]>
Date: Sat, 23 Aug 2025 15:27:12 +0100
Subject: [PATCH] Adapt to ExtUtils::ParseXS changes in Perl 5.42

The bundled ExtUtils::ParseXS is a customized fork of an old upstream
version from 2007 or so. However, it still relies on the typemap file
bundled with Perl itself.

This typemap changed in Perl 5.41.1 with
  https://github.com/Perl/perl5/commit/42cf75238c3687c1b1fad9263614036f7059c2dc
so that double quote characters are no longer escaped.

This broke custom EU::ParseXS eval qq/"$expr;"/ style calls with code
interpolated from the typemap when generating code for the walk_stats()
function. The end result was that the callback argument in the function
never got set and the test suite failed with 'not a CODE reference'.

Work around this by using qq{} instead of "". Not sure if this is any
more robust, but it least it works with both Perl 5.40 and 5.42.
---
 t/lib/ExtUtils/ParseXS.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/lib/ExtUtils/ParseXS.pm b/t/lib/ExtUtils/ParseXS.pm
index 401034d..642b785 100644
--- a/t/lib/ExtUtils/ParseXS.pm
+++ b/t/lib/ExtUtils/ParseXS.pm
@@ -1778,7 +1778,7 @@ sub generate_init {
       eval qq/print "\\t$var;\\n"/;
       warn $@   if  $@;
     }
-    $deferred{post_input} .= eval qq/"\\n$expr;\\n"/;
+    $deferred{post_input} .= eval qq/qq{\\n$expr;\\n}/;
     warn $@   if  $@;
   } else {
     die "panic: do not know how to handle this branch for function pointers"
-- 
2.49.0


--- End Message ---
--- Begin Message ---
Source: libmemcached-libmemcached-perl
Source-Version: 1.001801+dfsg-6
Done: gregor herrmann <[email protected]>

We believe that the bug you reported is fixed in the latest version of
libmemcached-libmemcached-perl, which is due to be installed in the Debian FTP 
archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
gregor herrmann <[email protected]> (supplier of updated 
libmemcached-libmemcached-perl package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Sun, 24 Aug 2025 01:12:42 +0200
Source: libmemcached-libmemcached-perl
Architecture: source
Version: 1.001801+dfsg-6
Distribution: unstable
Urgency: medium
Maintainer: Debian Perl Group <[email protected]>
Changed-By: gregor herrmann <[email protected]>
Closes: 1111915
Changes:
 libmemcached-libmemcached-perl (1.001801+dfsg-6) unstable; urgency=medium
 .
   * Team upload.
   * Add patch from Niko Tyni to adapt to ExtUtils::ParseXS changes in
     Perl 5.42. (Closes: #1111915)
   * Declare compliance with Debian Policy 4.7.2.
   * Remove «Rules-Requires-Root: no», which is the current default.
   * Remove «Priority: optional», which is the current default.
Checksums-Sha1:
 8ebe4bb18dc8979184c978fd0eb874a7e2173c32 2775 
libmemcached-libmemcached-perl_1.001801+dfsg-6.dsc
 8ae867566cac1df5fd6575a6cd01a8894992dab2 15100 
libmemcached-libmemcached-perl_1.001801+dfsg-6.debian.tar.xz
Checksums-Sha256:
 cd8ed16bd8aabe0a173a959f137864067030ab0cc8ee22e449afa4be363d5ab4 2775 
libmemcached-libmemcached-perl_1.001801+dfsg-6.dsc
 9b0d20f0e7588152516643f5bc7ac12075e0acfe3fea78fd559fadff93c3013d 15100 
libmemcached-libmemcached-perl_1.001801+dfsg-6.debian.tar.xz
Files:
 c9c945ab0c6571326ab2e22b2fc4b173 2775 perl optional 
libmemcached-libmemcached-perl_1.001801+dfsg-6.dsc
 c22abcc3d136f3b215102d8daa2254dc 15100 perl optional 
libmemcached-libmemcached-perl_1.001801+dfsg-6.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEE0eExbpOnYKgQTYX6uzpoAYZJqgYFAmiqS79fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEQx
RTEzMTZFOTNBNzYwQTgxMDREODVGQUJCM0E2ODAxODY0OUFBMDYACgkQuzpoAYZJ
qgafihAAtGaRpN/bsneMvDyqO8kFUm4j5KbcMUKV6yNKjgyTdksH4dV1ElHMk1Nz
C2Uze0p8tJKVBcGamf4F3Q3YJyFmokGheltBE17u1nef2xdtbomjG9Xfih9OzFE4
pEGqpUcIWFre9pt70psMI+W8yxSAgk38H+Z3CHTtQVFd5J30thV3+myjdxgzHAu7
4SyhZfUCC1ubTuHPBx9wFEiBSGnIl1U+tDANnObHQoALQk5TDTLM5olp2nQFdI6Z
RdTAUNR4fIYqONNdyBabBPYnCVADJ3JtawtcOEct3IXmgoXA0U6f9oPwn4q3QqkQ
4CWsV4OMzlc2va4Mc/tnXKu3RNS/sALXSOZBYugpw5FNOMNFKky8XO2wHhEt9Izi
dZ2pb2GlngKC+QSfMX6U7AHSvffAk9SM4Wg07Qwv2UOgoLyYbmlPbYPUd/g3Sjpi
PC/H5/fPpeYL9MK/ZtEx5Lc8FJD2mbtBgxSSLlduD9zKYrKTcyGw+nrqwbw0OGvc
gc1FnuCKRhwLHKcnd0TZotfaFh11pZ8K5fFbNZ1NBCVttQTgc1jW0KReRgbO/IPJ
aABSJDKlPIu5KlwENzBrw2IT1BvM3LOhdLSS5bKCIIQIR9SJ4dSls0iEM4jrimBg
7VsuhlDg5SX+AksKjY40iTqrfK7XzuvUiDZWq/cp4XmBBcDN9GM=
=ZzhA
-----END PGP SIGNATURE-----

Attachment: pgpOSCqlb7pmE.pgp
Description: PGP signature


--- End Message ---

Reply via email to