Bug#918570: python3-sklearn-lib: dependency on libblas3 | libblas.so.3 instead of libatlas3-base?

Stuart Prescott stuart at debian.org
Mon Jan 14 01:55:26 GMT 2019


> some libraries of this package are linked to libcblas.so.3.
> Could this be replaced by linking to libblas.so?
> Could this package depend on libblas3 | libblas.so.3 instead of
> libatlas3-base?

Additionally, in a no-change rebuild of the package currently in sid 
(0.20.1+dfsg-1), the config output around finding the linear algebra packages 
has changed compared to the existing build in sid. I've not looked further to 
see what the consequence of this is.

## Previously:

x86_64-linux-gnu-gcc -pthread _configtest.o -lf77blas -lcblas -latlas -o 
_configtest
ATLAS version 3.10.3 built by buildd on Wed Jul 25 10:48:47 UTC 2018:
   UNAME    : Linux binet 4.9.0-7-amd64 #1 SMP Debian 4.9.110-1 (2018-07-05) 
x86_64 GNU/Linux
   INSTFLG  : -1 0 -a 1 -l 1
   ARCHDEFS : -DATL_OS_Linux -DATL_ARCH_x86SSE2 -DATL_CPUMHZ=2400 -DATL_SSE2 -
DATL_SSE1 -DATL_USE64BITS -DATL_GAS_x8664
   F2CDEFS  : -DAdd_ -DF77_INTEGER=int -DStringSunStyle
   CACHEEDGE: 1048576
   F77      : /usr/bin/gfortran, version GNU Fortran (Debian 8.1.0-12) 8.1.0
   F77FLAGS : -g -O2 -fdebug-prefix-map=/build/atlas-cewjNG/atlas-3.10.3=. -
fstack-protector-strong -m64 -fPIC
   SMC      : /usr/bin/gcc, version gcc (Debian 8.1.0-12) 8.1.0
   SMCFLAGS : -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/
build/atlas-cewjNG/atlas-3.10.3=. -fstack-protector-strong -m64 -fPIC
   SKC      : /usr/bin/gcc, version gcc (Debian 8.1.0-12) 8.1.0
   SKCFLAGS : -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/
build/atlas-cewjNG/atlas-3.10.3=. -fstack-protector-strong -m64 -fPIC
success!
removing: _configtest.c _configtest.o _configtest.o.d _configtest
customize UnixCCompiler
customize UnixCCompiler
  FOUND:
    language = c
    define_macros = [('HAVE_CBLAS', None), ('ATLAS_INFO', '"\\"3.10.3\\""')]
    libraries = ['f77blas', 'cblas', 'atlas', 'f77blas', 'cblas']
    library_dirs = ['/usr/lib/x86_64-linux-gnu']

accelerate_info:
  NOT AVAILABLE

  FOUND:
    language = c
    define_macros = [('HAVE_CBLAS', None), ('ATLAS_INFO', '"\\"3.10.3\\""')]
    libraries = ['f77blas', 'cblas', 'atlas', 'f77blas', 'cblas']
    library_dirs = ['/usr/lib/x86_64-linux-gnu']



## Now:

x86_64-linux-gnu-gcc -pthread _configtest.o -L/usr/lib/x86_64-linux-gnu -
lf77blas -lcblas -latlas -o _configtest
customize UnixCCompiler
customize UnixCCompiler
  FOUND:
    libraries = ['f77blas', 'cblas', 'atlas', 'f77blas', 'cblas']
    library_dirs = ['/usr/lib/x86_64-linux-gnu']
    language = c
    define_macros = [('HAVE_CBLAS', None), ('NO_ATLAS_INFO', -1)]

accelerate_info:
  NOT AVAILABLE

  FOUND:
    libraries = ['f77blas', 'cblas', 'atlas', 'f77blas', 'cblas']
    library_dirs = ['/usr/lib/x86_64-linux-gnu']
    language = c
    define_macros = [('HAVE_CBLAS', None), ('NO_ATLAS_INFO', -1)]



I'm not quite sure what to make of these changes but the bigger problem is 
that as a result of not finding these libraries correctly, the build-system 
accidentally leaves behind two sets of files that are finding their way into 
the binary package:

/usr/lib/python2.7/dist-packages/_configtest
/usr/lib/python2.7/dist-packages/_configtest.c
/usr/lib/python2.7/dist-packages/_configtest.o
/usr/lib/python3/dist-packages/_configtest
/usr/lib/python3/dist-packages/_configtest.c
/usr/lib/python3/dist-packages/_configtest.o

(and they absolutely should not be there).

Do the build-deps need tweaking here?

cheers
Stuart

-- 
Stuart Prescott    http://www.nanonanonano.net/   stuart at nanonanonano.net
Debian Developer   http://www.debian.org/         stuart at debian.org
GPG fingerprint    90E2 D2C1 AD14 6A1B 7EBB 891D BBC1 7EBB 1396 F2F7



More information about the debian-science-maintainers mailing list