PDLPorters/pdl-linearalgebra

Undefined reference to sgesdd_ and dgebal_

eserte opened this issue · 2 comments

The test suite fails on most of my smokers like this (various Debian, Ubuntu, CentOS, and FreeBSD):

Can't load '/home/cpansand/.cpan/build/2019120901/PDL-LinearAlgebra-0.14-1/blib/arch/auto/PDL/LinearAlgebra/Real/Real.so' for module PDL::LinearAlgebra::Real: /home/cpansand/.cpan/build/2019120901/PDL-LinearAlgebra-0.14-1/blib/arch/auto/PDL/LinearAlgebra/Real/Real.so: undefined symbol: sgesdd_ at /opt/perl-5.28.2/lib/5.28.2/x86_64-linux/DynaLoader.pm line 193.

or

Can't load '/home/cpansand/.cpan/build/2019120908/PDL-LinearAlgebra-0.14-zw4Cfl/blib/arch/auto/PDL/LinearAlgebra/Real/Real.so' for module PDL::LinearAlgebra::Real: /home/cpansand/.cpan/build/2019120908/PDL-LinearAlgebra-0.14-zw4Cfl/blib/arch/auto/PDL/LinearAlgebra/Real/Real.so: Undefined symbol "dgebal_" at /usr/perl5.20.1Dp/lib/5.20.1/amd64-freebsd-ld/DynaLoader.pm line 193.

Only systems where the test suite passes is Fedora 28+31.

Yes, I've been seeing those! On some platforms it's also not linking Fortran libraries in at all. Use of EU::F77 and Devel::CheckLib seem called for.

After a crazy long time, I have actually implemented a fix to this with 0.28. I will close this (and #3 which is similar), but please comment (or open a new issue) if it not in fact fixed!