Bug#929296: libopenblas-base: is libopenblas.so needed?

Drew Parsons dparsons at debian.org
Tue May 21 05:57:09 BST 2019


Package: libopenblas-base
Version: 0.3.5+ds-3
Severity: normal

This is more a Request For Clarification than a bug report.

Why is /usr/lib/x86_64-linux-gnu/libopenblasp-r0.3.5.so provided by
libopenblas-base?

We've got the alternatives mechanism for managing the different blas
implementations, placing the various libblas.so and liblapack.so in
the subdir
  /usr/lib/x86_64-linux-gnu/openblas
and then providing alternatives links to 
/usr/lib/x86_64-linux-gnu/libblas.so and
/usr/lib/x86_64-linux-gnu/liblapack.so

But libopenblas-base also provides
/usr/lib/x86_64-linux-gnu/libopenblas.so pointing at
/usr/lib/x86_64-linux-gnu/libopenblasp-r0.3.5.so

The problem is that libopenblasp-r0.3.5.so contains exactly the same
symbols as libblas.so and liblapack.so.  This seems to be confusing
linkers, e.g. see Bug#914655 for python-scipy.

If libopenblasp-r0.3.5.so is present then it is used preferentially to
provide BLAS and LAPACK symbols, so the shared library
(_flapack.x86_64-linux-gnu.so in the case of python-scipy) ends up with 
  NEEDED libopenblas.so.0
instead of
  NEEDED liblapack.so.3
  NEEDED libblas.so.3

The official builds of scipy are fine since they build against the
generic BLAS. But local builds can become confused, which is what I
think happened with Bug#914655.  The package Depends: libblas3 |
libblas.so.3 where in this case it would need Depends: libopenblas-base.

So, is libopenblasp-r0.3.5.so really supposed to be provided in
/usr/lib/x86_64-linux-gnu by libopenblas-base, or this a bug which
should be fixed when the various BLAS flavours are being expanded?


-- 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 libopenblas-base depends on:
ii  libc6         2.28-10
ii  libgfortran5  8.3.0-7

libopenblas-base recommends no packages.

libopenblas-base suggests no packages.

-- no debconf information



More information about the debian-science-maintainers mailing list