[Python-modules-team] Bug#914655: python-scipy: _flapack undefined symbol: ilaver_
Drew Parsons
dparsons at debian.org
Tue May 21 06:13:12 BST 2019
Package: python-scipy
Followup-For: Bug #914655
Digging a bit deeper, I think this bug may be impacted by the presence
of /usr/lib/x86_64-linux-gnu/libopenblas.so provide by libopenblas-base
I think you will find your bug may be present in local builds of
scipy, but the official Debian builds will be fine.
Ultimately ilaver_ is a LAPACK symbol provided by liblapack.so.
The offical Debian scipy builds use a generic BLAS/LAPACK
implementation, so _flapack.x86_64-linux-gnu.so gets
NEEDED liblapack.so.3
which can be fulfilled by any LAPACK implementation
(provided via python-scipy Depends: liblapack3 | liblapack.so.3)
But since libopenblas.so provides the same symbols as libblas.so and
liblapack.so, if you make a local build with openblas installed then
_flapack.x86_64-linux-gnu.so picks up
NEEDED libopenblas.so.0
instead. But that does not get reflected in the python-scipy package
dependencis, since they have been configured to allow for alternatives
via libblas3 | libblas.so.3 and liblapack3 | liblapack.so.3.
It means if you have a python-scipy built against openblas then it
should run fine if libopenblas-base is installed.
If you then install one of the other LAPACK alternatives instead of
libopenblas-base (which you're supposed to be able to do), your
locally built scipy will complain with the error given in this bug,
becauses it will look for ilaver_ in libopenblas.so.0 which is no
longer present.
The /usr/lib/x86_64-linux-gnu/libopenblas.so seems to be the problem
here, so I've filed Bug#929296 to ask about it.
-- System Information:
Debian Release: 10.0
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.19.0-5-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages python-scipy depends on:
ii libatlas3-base [liblapack.so.3] 3.10.3-8
ii libblas3 [libblas.so.3] 3.8.0-2
ii libc6 2.28-10
ii libgcc1 1:8.3.0-7
ii libgfortran5 8.3.0-7
ii liblapack3 [liblapack.so.3] 3.8.0-2
ii libopenblas-base [liblapack.so.3] 0.3.5+ds-3
ii libquadmath0 8.3.0-7
ii libstdc++6 8.3.0-7
ii python 2.7.16-1
ii python-decorator 4.3.0-1.1
ii python-numpy [python-numpy-abi9] 1:1.16.2-1
Versions of packages python-scipy recommends:
ii g++ 4:8.3.0-1
ii g++-7 [c++-compiler] 7.4.0-9
ii g++-8 [c++-compiler] 8.3.0-7
ii python-dev 2.7.16-1
ii python-pil 5.4.1-2
Versions of packages python-scipy suggests:
ii python-scipy-doc 1.1.0-7
-- no debconf information
More information about the Python-modules-team
mailing list