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