Bug#1121084: perl built with new IEEE long doubles on ppc64el breaks pdl
Matthias Klose
doko at debian.org
Fri Nov 21 06:40:32 GMT 2025
On 11/20/25 19:42, Niko Tyni wrote:
> Package: perl-base
> Version: 5.40.1-7
> Severity: serious
> User: debian-gcc at lists.debian.org
> Usertags: ieee-long-double
> X-Debbugs-Cc: debian-powerpc at lists.debian.org, Matthias Klose <doko at debian.org>, pdl at packages.debian.org
>
> As seen at https://ci.debian.net/packages/p/pdl/testing/ppc64el/
> perl_5.40.1-7 in unstable breaks the pdl_1:2.100-1 test suite.
>
> 70s not ok 540 - right answer from no supplied output ldouble
> 70s
> 70s # Failed test 'right answer from no supplied output ldouble'
> 70s # at t/core.t line 926.
> 70s # 1/1 values do not match
> 70s # got: CLDouble D [] (P ) 2.0625
> 70s # expected: CLDouble D [] (P ) 3+2i
> 70s # First <=5 values differ at: 0
> 70s # Those 'got' values: 2.0625
> 70s # Those 'expected' values: 3+2i
> [...]
> 101s Test Summary Report
> 101s -------------------
> 101s t/core.t (Wstat: 1024 (exited 4) Tests: 549 Failed: 4)
> 101s Failed tests: 540-543
> 101s Non-zero exit status: 4
> 101s t/math.t (Wstat: 256 (exited 1) Tests: 74 Failed: 1)
> 101s Failed test: 2
> 101s Non-zero exit status: 1
>
> There are no related source code changes. I believe
> this is about the long double transition on ppc64el, see
> https://wiki.debian.org/ToolChain/IEEELongDouble .
>
> I tested a bit on platti.d.o, and it looks like perl and pdl must be
> built with the same kind of long doubles or the tests will fail. So it
> would also have happened if pdl had been uploaded first.
>
> This smells like an ABI change in the interface between perl and binary
> ("XS") modules. I wonder if we can (or should) get away with just
> handling pdl, or if we need to bump the Provides: perlapi-5.40.1
> and force rebuilds of all binary modules.
>
> If we target just the pdl case, I suppose we could add a Build-Depends:
> gcc (>= 15) or somesuch to src:perl and src:pdl, and make perl-base Break
> earlier versions of pdl. That should ensure that they get upgraded in
> lockstep (I think.) Also, there's a dozen libpdl-*-perl packages in the
> archive. Not sure if/how they would be affected.
>
> If we need to rebuild all binary modules to be safe, we could "just"
> change Provides: perlapi-5.40.1 to (say) perlapi-5.40.1d on ppc64el, and
> schedule binNMUs of all the reverse dependencies. Possibly libperl5.40
> should also change its name, not sure about that. We've done this kind
> of thing in the past once or twice.
>
> The binary interface change is going to happen soonish anyway for Perl
> 5.42, but things are not quite ready there (and I sorely lack the spoons
> to drive that transition.) So I suppose tying these things together
> would not be advisable.
>
> Copying the pdl maintainers, the debian-powerpc list, and Matthias as
> the driver of the ppc64el long double transition. Please advise.
I would just do with binNMUs, and then at least for perl you'll have the
ABI bump with 5.42 anyway.
More information about the Perl-maintainers
mailing list