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

Reply via email to