Package: perl-base Version: 5.40.1-7 Severity: serious User: [email protected] Usertags: ieee-long-double X-Debbugs-Cc: [email protected], Matthias Klose <[email protected]>, [email protected]
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. -- Niko Tyni [email protected]

