On 2021-10-14 15:52:03 -0500, Dirk Eddelbuettel wrote: > > Hi Sebastian, > > On 14 October 2021 at 22:46, Sebastian Ramacher wrote: > | Hi Dirk > | > | On 2021-08-30 16:27:49 -0500, Dirk Eddelbuettel wrote: > | > > | > On 30 August 2021 at 23:42, Niko Tyni wrote: > | > | Package: libgsl25 > | > | Version: 2.7+dfsg-2 > | > | Control: affects -1 libmath-gsl-perl > | > | Severity: serious > | > | > | > | gsl 2.7 broke libmath-gsl-perl on runtime, as seen in the autopkgtest > regressions: > | > | > | > | not ok 7 - use Math::GSL::Matrix; > | > | > | > | # Failed test 'use Math::GSL::Matrix;' > | > | # at t/00-load.t line 14. > | > | # Tried to use 'Math::GSL::Matrix'. > | > | # Error: Can't load > '/usr/lib/x86_64-linux-gnu/perl5/5.32/auto/Math/GSL/Linalg/Linalg.so' for > module Math::GSL::Linalg: > /usr/lib/x86_64-linux-gnu/perl5/5.32/auto/Math/GSL/Linalg/Linalg.so: > undefined symbol: gsl_linalg_QR_TR_decomp at > /usr/lib/x86_64-linux-gnu/perl-base/DynaLoader.pm line 187. > | > | # � at /usr/lib/x86_64-linux-gnu/perl5/5.32/Math/GSL/Linalg.pm line > 11. > | > | # Compilation failed in require at > /usr/lib/x86_64-linux-gnu/perl5/5.32/Math/GSL/Matrix.pm line 1210. > | > | # BEGIN failed--compilation aborted at > /usr/lib/x86_64-linux-gnu/perl5/5.32/Math/GSL/Matrix.pm line 1210. > | > | # Compilation failed in require at t/00-load.t line 14. > | > | # BEGIN failed--compilation aborted at t/00-load.t line 14. > | > | ok 8 - use Math::GSL::Poly; > | > | not ok 9 - use Math::GSL::MatrixComplex; > | > | > | > | It seems that the 2.7 upload broke the ABI of libgsl25 by removing > | > | the gsl_linalg_QR_TR_decomp symbol. src:gsl is currently blocked from > | > | entering testing because of this regression in libmath-gsl-perl_0.42-1. > | > | > | > | Looks like upstream Math-GSL-0.43 probably no longer references this > | > | symbol, but it's not in Debian yet and I haven't built and verified > that. > | > | > | > | Clearly at least something must be done on the libgsl side. Not sure if > | > | it needs to restore the symbol or bump its SONAME, or if just a Breaks > | > | on older libmath-gsl-perl versions is enough. (See policy 8.6.2) > | > > | > I am not fully sure what they are doing. They do increment values > sometimes, > | > sometimes they keep them. I mostly just followed along. > | > > | > We also for a time tried to accomodate lagging Debian packages. I do not > | > think that that winnable strategy long term. > | > > | > I could add a versioned breaks for libmath-gsl-perl. Can you send me a > | > preferred expression? > | > | No, that would just paper over the problem and wouldn't be a proper fix. > | > | There are two options to fix this issue: > | > | * Unbreak the ABI by reintroducing the removed symbols. > > I think we tried that a few gsl release ago and I don't think it was a > success. > > | * Bump the SONAME and change the package name. This will trigger a > | transition and the reverse dependencies will be rebuilt. > | > | In any case, the best idea is to talk to upstream. If removal of the > | symbols was intentional, please ask them to bump the SONAME. > > It is AFAICR the opposite: upstream *did* the change years ago, we decided to > paper over but at some point that becomes too much. Upstream is, in my book, > the best judge of their code, and if they deprecated / changed something > years ago then client packages need to (eventually) adapt.
gsl 2.7 was released in June 2021. So the removal of this symbol is recent. I see no patches that would have kept that symbol around for longer than it was needed. In fact, diffing 2.6 and 2.7 suggests that gsl_linalg_QR_TR_decomp was simply renamed to gsl_linalg_QR_UR_decmp. So I'm afraid I am unable to follow your reasoning. This is pretty clear case of upstream forgetting to bump the SONAME. > If the Perl package needs a (deprecated in the library) function and cannot > change its code, maybe it can stub it locally? libmath-gsl-perl will eventually need to be fixed. Still, if gsl removes a symbol from its public ABI, it needs to bump its SONAME. That's why we have them and even encode it in package names. Cheers > > Dirk > > > | Cheers > | > | > > | > | I've also filed the separate bug #993323 about libmath-gsl-perl failing > to > | > | build with GSL 2.7. That should be fixed just by upgrading it to 0.43. > | > > | > Right. > | > > | > Dirk > | > > | > | -- > | > | Niko Tyni nt...@debian.org > | > > | > -- > | > https://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org > | > | -- > | Sebastian Ramacher > | [DELETED ATTACHMENT signature.asc, application/pgp-signature] > > -- > https://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org -- Sebastian Ramacher
signature.asc
Description: PGP signature