On Fri, 15 Nov 2024 at 10:24:34 +0000, Simon McVittie wrote: > This looks like it might be a problem with some toolchain component > (but I don't know which one), so please reassign and set "affects" on > src:pcre2 as appropriate.
In fact I think this could be a bug that was already fixed in libtool: https://github.com/autotools-mirror/libtool/commit/9a4a02615c9e7cbcfd690ed31874822a7d6aaea2 but because pcre2 doesn't re-run aclocal and autoconf, it doesn't pick up the working version of libtool.m4 from the system, and instead uses the buggy version of that code that is embedded in the configure script generated by upstream when they did their release. I would strongly recommend running dh_autoreconf. At the moment, pcre2 is using the configure script as generated by upstream, which is not meaningfully reviewable or bug-fixable. Depending on subtleties of Autotools behaviour, it might also be necessary to apply https://github.com/autotools-mirror/libtool/commit/9a4a02615c9e7cbcfd690ed31874822a7d6aaea2 to pcre2's copy of m4/libtool.m4 - its serial number is higher than the /usr/share/aclocal/libtool.m4 available in Debian, which I think might mean that the copy bundled with the package gets kept, even when re-running libtoolize/aclocal/autoconf during the build. Or that might not be necessary, I haven't checked. > util-linux is an example of an Autotools package that was uploaded to > unstable more recently (2024-11-03) and it also used "ld -m elf64ltsmip". The clues that led me to the conclusion above are: util-linux still detects this correctly on the porterbox eberlin (I didn't do the whole build, just let it get far enough that I could see what ld option the build system had selected). pcre2 still fails in the same chroot on eberlin, in the same way as on the buildds (again I didn't let it do the whole build, I just waited until I could see what ld option had been selected). I noticed that util-linux was running autoreconf during build, but pcre2 was not. And then I went looking for "ltsmip" in the generated configure script to see where that code came from, which led me to libtool.m4, and from there to the git history of libtool.m4. smcv