Opened 3 years ago

Closed 3 years ago

#22047 closed defect (fixed)

Scipy fails to build with ATLAS

Reported by: jdemeyer Owned by:
Priority: blocker Milestone: sage-7.5
Component: packages: standard Keywords:
Cc: fbissey Merged in:
Authors: François Bissey Reviewers: Jeroen Demeyer
Report Upstream: N/A Work issues:
Branch: b377e3e (Commits) Commit: b377e3e8d2dad40568b5e7cfa231a367d104213b
Dependencies: Stopgaps:

Description

If Sage is configured with ./configure --with-blas=atlas, then scipy fails to build:

[scipy-0.17.1.p0] Found local metadata for scipy-0.17.1.p0
[scipy-0.17.1.p0] Using cached file /usr/local/src/sage-git/upstream/scipy-0.17.1.tar.gz
[scipy-0.17.1.p0] scipy-0.17.1.p0
[scipy-0.17.1.p0] ====================================================
[scipy-0.17.1.p0] Setting up build directory for scipy-0.17.1.p0
[scipy-0.17.1.p0] Finished extraction
[scipy-0.17.1.p0] No patch files found in ../patches
[scipy-0.17.1.p0] ****************************************************
[scipy-0.17.1.p0] Host system:
[scipy-0.17.1.p0] Linux tamiyo 3.17.7-gentoo #1 SMP PREEMPT Wed Dec 31 20:06:39 CET 2014 x86_64 Intel(R) Core(TM) i7-2640M CPU @ 2.80GHz GenuineIntel GNU/Linux
[scipy-0.17.1.p0] ****************************************************
[scipy-0.17.1.p0] C compiler: gcc
[scipy-0.17.1.p0] C compiler version:
[scipy-0.17.1.p0] Using built-in specs.
[scipy-0.17.1.p0] COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.9.4/gcc
[scipy-0.17.1.p0] COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.9.4/lto-wrapper
[scipy-0.17.1.p0] Target: x86_64-pc-linux-gnu
[scipy-0.17.1.p0] Configured with: /var/tmp/portage/sys-devel/gcc-4.9.4/work/gcc-4.9.4/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.9.4 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.4/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.9.4 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.9.4/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.9.4/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.4/include/g++-v4 --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.9.4/python --enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.9.4 p1.0, pie-0.6.4' --enable-libstdcxx-time --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-altivec --disable-fixed-point --enable-targets=all --disable-libgcj --enable-libgomp --disable-libmudflap --disable-libssp --disable-libcilkrts --enable-vtable-verify --enable-libvtv --enable-lto --without-cloog --enable-libsanitizer
[scipy-0.17.1.p0] Thread model: posix
[scipy-0.17.1.p0] gcc version 4.9.4 (Gentoo 4.9.4 p1.0, pie-0.6.4) 
[scipy-0.17.1.p0] ****************************************************
[scipy-0.17.1.p0] Note: CFLAGS, CXXFLAGS and SHAREDFLAGS are taken from distutils,
[scipy-0.17.1.p0]       so their current settings are ignored.
[scipy-0.17.1.p0] /usr/local/src/sage-git/local/lib/python/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
[scipy-0.17.1.p0]   warnings.warn(msg)
[scipy-0.17.1.p0] /usr/local/src/sage-git/local/lib/python/distutils/dist.py:267: UserWarning: Unknown distribution option: 'setup_requires'
[scipy-0.17.1.p0]   warnings.warn(msg)
[scipy-0.17.1.p0] /usr/local/src/sage-git/local/lib/python/distutils/dist.py:267: UserWarning: Unknown distribution option: 'test_suite'
[scipy-0.17.1.p0]   warnings.warn(msg)
[scipy-0.17.1.p0] Installing package scipy using pip
[scipy-0.17.1.p0] Ignoring indexes: https://pypi.python.org/simple
[scipy-0.17.1.p0] Processing /usr/local/src/sage-git/local/var/tmp/sage/build/scipy-0.17.1.p0/src
[scipy-0.17.1.p0]   Running setup.py (path:/tmp/pip-lnNxdH-build/setup.py) egg_info for package from file:///usr/local/src/sage-git/local/var/tmp/sage/build/scipy-0.17.1.p0/src
[scipy-0.17.1.p0]     Running command python setup.py egg_info
[scipy-0.17.1.p0]     running egg_info
[scipy-0.17.1.p0]     creating pip-egg-info/scipy.egg-info
[scipy-0.17.1.p0]     writing pip-egg-info/scipy.egg-info/PKG-INFO
[scipy-0.17.1.p0]     writing top-level names to pip-egg-info/scipy.egg-info/top_level.txt
[scipy-0.17.1.p0]     writing dependency_links to pip-egg-info/scipy.egg-info/dependency_links.txt
[scipy-0.17.1.p0]     writing manifest file 'pip-egg-info/scipy.egg-info/SOURCES.txt'
[scipy-0.17.1.p0]     warning: manifest_maker: standard file '-c' not found
[scipy-0.17.1.p0] 
[scipy-0.17.1.p0]     reading manifest file 'pip-egg-info/scipy.egg-info/SOURCES.txt'
[scipy-0.17.1.p0]     reading manifest template 'MANIFEST.in'
[scipy-0.17.1.p0]     warning: no previously-included files matching '*_subr_*.f' found under directory 'scipy/linalg/src/id_dist/src'
[scipy-0.17.1.p0]     no previously-included directories found matching 'benchmarks/env'
[scipy-0.17.1.p0]     no previously-included directories found matching 'benchmarks/results'
[scipy-0.17.1.p0]     no previously-included directories found matching 'benchmarks/html'
[scipy-0.17.1.p0]     no previously-included directories found matching 'benchmarks/scipy'
[scipy-0.17.1.p0]     no previously-included directories found matching 'scipy/special/tests/data/boost'
[scipy-0.17.1.p0]     no previously-included directories found matching 'scipy/special/tests/data/gsl'
[scipy-0.17.1.p0]     no previously-included directories found matching 'doc/build'
[scipy-0.17.1.p0]     no previously-included directories found matching 'doc/source/generated'
[scipy-0.17.1.p0]     no previously-included directories found matching '*/__pycache__'
[scipy-0.17.1.p0]     warning: no previously-included files matching '*~' found anywhere in distribution
[scipy-0.17.1.p0]     warning: no previously-included files matching '*.bak' found anywhere in distribution
[scipy-0.17.1.p0]     warning: no previously-included files matching '*.swp' found anywhere in distribution
[scipy-0.17.1.p0]     warning: no previously-included files matching '*.pyo' found anywhere in distribution
[scipy-0.17.1.p0]     writing manifest file 'pip-egg-info/scipy.egg-info/SOURCES.txt'
[scipy-0.17.1.p0]   Source in /tmp/pip-lnNxdH-build has version 0.17.1, which satisfies requirement scipy==0.17.1 from file:///usr/local/src/sage-git/local/var/tmp/sage/build/scipy-0.17.1.p0/src
[scipy-0.17.1.p0] Installing collected packages: scipy
[scipy-0.17.1.p0]   Running setup.py install for scipy: started
[scipy-0.17.1.p0]     Running command /usr/local/src/sage-git/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-lnNxdH-build/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-TjA2nI-record/install-record.txt --single-version-externally-managed --compile
[scipy-0.17.1.p0]     lapack_opt_info:
[scipy-0.17.1.p0]     openblas_lapack_info:
[scipy-0.17.1.p0]     Disabled openblas_lapack_info: (OPENBLAS is None)
[scipy-0.17.1.p0]       libraries openblas not found in []
[scipy-0.17.1.p0]       NOT AVAILABLE
[scipy-0.17.1.p0] 
[scipy-0.17.1.p0]     lapack_mkl_info:
[scipy-0.17.1.p0]     mkl_info:
[scipy-0.17.1.p0]       libraries mkl,vml,guide not found in ['/usr/local/src/sage-git/local/lib', '/usr/local/lib64', '/usr/local/lib', '/usr/lib64', '/usr/lib', '/usr/lib/']
[scipy-0.17.1.p0]       NOT AVAILABLE
[scipy-0.17.1.p0] 
[scipy-0.17.1.p0]       NOT AVAILABLE
[scipy-0.17.1.p0] 
[scipy-0.17.1.p0]     atlas_3_10_threads_info:
[scipy-0.17.1.p0]     Disabled atlas_3_10_threads_info: (PTATLAS is None)
[scipy-0.17.1.p0]     <class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
[scipy-0.17.1.p0]       NOT AVAILABLE
[scipy-0.17.1.p0] 
[scipy-0.17.1.p0]     atlas_3_10_info:
[scipy-0.17.1.p0]     Disabled atlas_3_10_info: (ATLAS is None)
[scipy-0.17.1.p0]     <class 'numpy.distutils.system_info.atlas_3_10_info'>
[scipy-0.17.1.p0]       NOT AVAILABLE
[scipy-0.17.1.p0] 
[scipy-0.17.1.p0]     atlas_threads_info:
[scipy-0.17.1.p0]     Disabled atlas_threads_info: (PTATLAS is None)
[scipy-0.17.1.p0]     <class 'numpy.distutils.system_info.atlas_threads_info'>
[scipy-0.17.1.p0]       NOT AVAILABLE
[scipy-0.17.1.p0] 
[scipy-0.17.1.p0]     atlas_info:
[scipy-0.17.1.p0]     Disabled atlas_info: (ATLAS is None)
[scipy-0.17.1.p0]     <class 'numpy.distutils.system_info.atlas_info'>
[scipy-0.17.1.p0]       NOT AVAILABLE
[scipy-0.17.1.p0] 
[scipy-0.17.1.p0]     /usr/local/src/sage-git/local/lib/python2.7/site-packages/numpy/distutils/system_info.py:1548: UserWarning:
[scipy-0.17.1.p0]         Atlas (http://math-atlas.sourceforge.net/) libraries not found.
[scipy-0.17.1.p0]         Directories to search for the libraries can be specified in the
[scipy-0.17.1.p0]         numpy/distutils/site.cfg file (section [atlas]) or by setting
[scipy-0.17.1.p0]         the ATLAS environment variable.
[scipy-0.17.1.p0]       warnings.warn(AtlasNotFoundError.__doc__)
[scipy-0.17.1.p0]     lapack_info:
[scipy-0.17.1.p0]       libraries lapack not found in ['', '']
[scipy-0.17.1.p0]     Runtime library lapack was not found. Ignoring
[scipy-0.17.1.p0]       FOUND:
[scipy-0.17.1.p0]         libraries = ['lapack', 'f77blas', 'cblas', 'atlas', 'lapack']
[scipy-0.17.1.p0]         library_dirs = ['/usr/local/src/sage-git/local/lib']
[scipy-0.17.1.p0]         language = f77
[scipy-0.17.1.p0] 
[scipy-0.17.1.p0]     blas_info:
[scipy-0.17.1.p0]       libraries cblas,atlas,f77blas,atlas not found in ['/usr/local/src/sage-git/local/lib']
[scipy-0.17.1.p0]       NOT AVAILABLE
[scipy-0.17.1.p0] 
[scipy-0.17.1.p0]     /usr/local/src/sage-git/local/lib/python2.7/site-packages/numpy/distutils/system_info.py:1571: UserWarning:
[scipy-0.17.1.p0]         Blas (http://www.netlib.org/blas/) libraries not found.
[scipy-0.17.1.p0]         Directories to search for the libraries can be specified in the
[scipy-0.17.1.p0]         numpy/distutils/site.cfg file (section [blas]) or by setting
[scipy-0.17.1.p0]         the BLAS environment variable.
[scipy-0.17.1.p0]       warnings.warn(BlasNotFoundError.__doc__)
[scipy-0.17.1.p0]     blas_src_info:
[scipy-0.17.1.p0]       NOT AVAILABLE
[scipy-0.17.1.p0] 
[scipy-0.17.1.p0]     /usr/local/src/sage-git/local/lib/python2.7/site-packages/numpy/distutils/system_info.py:1574: UserWarning:
[scipy-0.17.1.p0]         Blas (http://www.netlib.org/blas/) sources not found.
[scipy-0.17.1.p0]         Directories to search for the sources can be specified in the
[scipy-0.17.1.p0]         numpy/distutils/site.cfg file (section [blas_src]) or by setting
[scipy-0.17.1.p0]         the BLAS_SRC environment variable.
[scipy-0.17.1.p0]       warnings.warn(BlasSrcNotFoundError.__doc__)
[scipy-0.17.1.p0]       NOT AVAILABLE
[scipy-0.17.1.p0] 
[scipy-0.17.1.p0]     Running from scipy source directory.
[scipy-0.17.1.p0]     Traceback (most recent call last):
[scipy-0.17.1.p0]       File "<string>", line 1, in <module>
[scipy-0.17.1.p0]       File "/tmp/pip-lnNxdH-build/setup.py", line 265, in <module>
[scipy-0.17.1.p0]         setup_package()
[scipy-0.17.1.p0]       File "/tmp/pip-lnNxdH-build/setup.py", line 262, in setup_package
[scipy-0.17.1.p0]         setup(**metadata)
[scipy-0.17.1.p0]       File "/usr/local/src/sage-git/local/lib/python2.7/site-packages/numpy/distutils/core.py", line 135, in setup
[scipy-0.17.1.p0]         config = configuration()
[scipy-0.17.1.p0]       File "/tmp/pip-lnNxdH-build/setup.py", line 182, in configuration
[scipy-0.17.1.p0]         config.add_subpackage('scipy')
[scipy-0.17.1.p0]       File "/usr/local/src/sage-git/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 1003, in add_subpackage
[scipy-0.17.1.p0]         caller_level = 2)
[scipy-0.17.1.p0]       File "/usr/local/src/sage-git/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 972, in get_subpackage
[scipy-0.17.1.p0]         caller_level = caller_level + 1)
[scipy-0.17.1.p0]       File "/usr/local/src/sage-git/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 909, in _get_configuration_from_setup_py
[scipy-0.17.1.p0]         config = setup_module.configuration(*args)
[scipy-0.17.1.p0]       File "scipy/setup.py", line 15, in configuration
[scipy-0.17.1.p0]         config.add_subpackage('linalg')
[scipy-0.17.1.p0]       File "/usr/local/src/sage-git/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 1003, in add_subpackage
[scipy-0.17.1.p0]         caller_level = 2)
[scipy-0.17.1.p0]       File "/usr/local/src/sage-git/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 972, in get_subpackage
[scipy-0.17.1.p0]         caller_level = caller_level + 1)
[scipy-0.17.1.p0]       File "/usr/local/src/sage-git/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 909, in _get_configuration_from_setup_py
[scipy-0.17.1.p0]         config = setup_module.configuration(*args)
[scipy-0.17.1.p0]       File "scipy/linalg/setup.py", line 20, in configuration
[scipy-0.17.1.p0]         raise NotFoundError('no lapack/blas resources found')
[scipy-0.17.1.p0]     numpy.distutils.system_info.NotFoundError: no lapack/blas resources found
[scipy-0.17.1.p0]     Running setup.py install for scipy: finished with status 'error'
[scipy-0.17.1.p0] Cleaning up...
[scipy-0.17.1.p0]   Removing source in /tmp/pip-lnNxdH-build
[scipy-0.17.1.p0] Command "/usr/local/src/sage-git/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-lnNxdH-build/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-TjA2nI-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-lnNxdH-build/
[scipy-0.17.1.p0] Exception information:
[scipy-0.17.1.p0] Traceback (most recent call last):
[scipy-0.17.1.p0]   File "/usr/local/src/sage-git/local/lib/python2.7/site-packages/pip-8.1.2-py2.7.egg/pip/basecommand.py", line 215, in main
[scipy-0.17.1.p0]     status = self.run(options, args)
[scipy-0.17.1.p0]   File "/usr/local/src/sage-git/local/lib/python2.7/site-packages/pip-8.1.2-py2.7.egg/pip/commands/install.py", line 317, in run
[scipy-0.17.1.p0]     prefix=options.prefix_path,
[scipy-0.17.1.p0]   File "/usr/local/src/sage-git/local/lib/python2.7/site-packages/pip-8.1.2-py2.7.egg/pip/req/req_set.py", line 742, in install
[scipy-0.17.1.p0]     **kwargs
[scipy-0.17.1.p0]   File "/usr/local/src/sage-git/local/lib/python2.7/site-packages/pip-8.1.2-py2.7.egg/pip/req/req_install.py", line 880, in install
[scipy-0.17.1.p0]     spinner=spinner,
[scipy-0.17.1.p0]   File "/usr/local/src/sage-git/local/lib/python2.7/site-packages/pip-8.1.2-py2.7.egg/pip/utils/__init__.py", line 718, in call_subprocess
[scipy-0.17.1.p0]     % (command_desc, proc.returncode, cwd))
[scipy-0.17.1.p0] InstallationError: Command "/usr/local/src/sage-git/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-lnNxdH-build/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-TjA2nI-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-lnNxdH-build/
[scipy-0.17.1.p0] Error installing scipy.
[scipy-0.17.1.p0] 
[scipy-0.17.1.p0] real  0m2.854s
[scipy-0.17.1.p0] user  0m2.265s
[scipy-0.17.1.p0] sys   0m0.476s
[scipy-0.17.1.p0] ************************************************************************
[scipy-0.17.1.p0] Error installing package scipy-0.17.1.p0
[scipy-0.17.1.p0] ************************************************************************
[scipy-0.17.1.p0] Please email sage-devel (http://groups.google.com/group/sage-devel)
[scipy-0.17.1.p0] explaining the problem and including the relevant part of the log file
[scipy-0.17.1.p0]   /usr/local/src/sage-git/logs/pkgs/scipy-0.17.1.p0.log
[scipy-0.17.1.p0] Describe your computer, operating system, etc.
[scipy-0.17.1.p0] If you want to try to fix the problem yourself, *don't* just cd to
[scipy-0.17.1.p0] /usr/local/src/sage-git/local/var/tmp/sage/build/scipy-0.17.1.p0 and type 'make' or whatever is appropriate.
[scipy-0.17.1.p0] Instead, the following commands setup all environment variables
[scipy-0.17.1.p0] correctly and load a subshell for you to debug the error:
[scipy-0.17.1.p0]   (cd '/usr/local/src/sage-git/local/var/tmp/sage/build/scipy-0.17.1.p0' && '/usr/local/src/sage-git/sage' --sh)
[scipy-0.17.1.p0] When you are done debugging, you can type "exit" to leave the subshell.
[scipy-0.17.1.p0] ************************************************************************

Change History (12)

comment:1 Changed 3 years ago by fbissey

Content of /usr/local/src/sage-git/local/lib/python2.7/site-packages/numpy/distutils/site.cfg please.

comment:2 Changed 3 years ago by jdemeyer

$ cat /usr/local/src/sage-git/local/lib/python2.7/site-packages/numpy/distutils/site.cfg
[ALL]
library_dirs = /usr/local/src/sage-git/local/lib
include_dirs = /usr/local/src/sage-git/local/include
[blas]
library_dirs = /usr/local/src/sage-git/local/lib
blas_libs    = cblas, atlas, f77blas, atlas
[lapack]
library_dirs = /usr/local/src/sage-git/local/lib
lapack_libs  = lapack, f77blas, cblas, atlas

$ pkgconf --libs blas
-lf77blas -latlas

Could this be the same issue as the breakage with -lopenblas -lopenblas that we saw in #21625?

comment:3 Changed 3 years ago by fbissey

I am wondering yes. I am trying to reproduce locally. Can you tell me the output of pkg-config --libs blas cblas because that's what is used to populate blas. If a cblas is provided HAVE_CBLAS is defined (to a confusing value, but all that is ever checked is its existence).

comment:4 Changed 3 years ago by jdemeyer

$ pkg-config --libs blas cblas
-L/usr/local/src/sage-git/local/lib -lf77blas -latlas -lcblas -latlas 

comment:5 Changed 3 years ago by fbissey

A couple more questions readelf -d /usr/local/src/sage-git/local/lib/libf77blas.so and readelf -d /usr/local/src/sage-git/local/lib/libcblas.so I think that can solved by altering the .pc files for atlas slightly - something I think I wrote :(

comment:6 Changed 3 years ago by jdemeyer

I don't understand why it matters, but here it is:

$ readelf -d /usr/local/src/sage-git/local/lib/libf77blas.so

Dynamic section at offset 0x20d98 contains 32 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libatlas.so.3]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libgfortran.so.3]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libquadmath.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000e (SONAME)             Library soname: [libf77blas.so.3]
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/local/src/sage-git/local/lib]
 0x000000000000000c (INIT)               0x7200
 0x000000000000000d (FINI)               0x1aca0
 0x0000000000000019 (INIT_ARRAY)         0x220d80
 0x000000000000001b (INIT_ARRAYSZ)       8 (bytes)
 0x000000000000001a (FINI_ARRAY)         0x220d88
 0x000000000000001c (FINI_ARRAYSZ)       8 (bytes)
 0x000000006ffffef5 (GNU_HASH)           0x1c8
 0x0000000000000005 (STRTAB)             0x3a60
 0x0000000000000006 (SYMTAB)             0xbf8
 0x000000000000000a (STRSZ)              5182 (bytes)
 0x000000000000000b (SYMENT)             24 (bytes)
 0x0000000000000003 (PLTGOT)             0x221000
 0x0000000000000002 (PLTRELSZ)           7776 (bytes)
 0x0000000000000014 (PLTREL)             RELA
 0x0000000000000017 (JMPREL)             0x53a0                                                                                                                         
 0x0000000000000007 (RELA)               0x52e0                                                                                                                         
 0x0000000000000008 (RELASZ)             192 (bytes)                                                                                                                    
 0x0000000000000009 (RELAENT)            24 (bytes)                                                                                                                     
 0x000000006ffffffe (VERNEED)            0x5280
 0x000000006fffffff (VERNEEDNUM)         2
 0x000000006ffffff0 (VERSYM)             0x4e9e
 0x000000006ffffff9 (RELACOUNT)          3
 0x0000000000000000 (NULL)               0x0
$ readelf -d /usr/local/src/sage-git/local/lib/libcblas.so

Dynamic section at offset 0x21dc0 contains 29 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libatlas.so.3]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000e (SONAME)             Library soname: [libcblas.so.3]
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/local/src/sage-git/local/lib]
 0x000000000000000c (INIT)               0x4c60
 0x000000000000000d (FINI)               0x1c328
 0x0000000000000019 (INIT_ARRAY)         0x221da8
 0x000000000000001b (INIT_ARRAYSZ)       8 (bytes)
 0x000000000000001a (FINI_ARRAY)         0x221db0
 0x000000000000001c (FINI_ARRAYSZ)       8 (bytes)
 0x000000006ffffef5 (GNU_HASH)           0x1c8
 0x0000000000000005 (STRTAB)             0x27d0
 0x0000000000000006 (SYMTAB)             0x700
 0x000000000000000a (STRSZ)              4080 (bytes)
 0x000000000000000b (SYMENT)             24 (bytes)
 0x0000000000000003 (PLTGOT)             0x222000
 0x0000000000000002 (PLTRELSZ)           4296 (bytes)
 0x0000000000000014 (PLTREL)             RELA
 0x0000000000000017 (JMPREL)             0x3b98
 0x0000000000000007 (RELA)               0x3ac0
 0x0000000000000008 (RELASZ)             216 (bytes)
 0x0000000000000009 (RELAENT)            24 (bytes)
 0x000000006ffffffe (VERNEED)            0x3a80
 0x000000006fffffff (VERNEEDNUM)         1
 0x000000006ffffff0 (VERSYM)             0x37c0
 0x000000006ffffff9 (RELACOUNT)          3
 0x0000000000000000 (NULL)               0x0

comment:7 Changed 3 years ago by fbissey

Properly linked. -latlas is not even needed, but I was wondering about the presence of pthreads as well. This is a Gentoo science overlay ATLAS blas .pc file

more /usr/lib64/pkgconfig/atlas-blas.pc
prefix="/usr"
exec_prefix="/usr"
libdir="/usr/lib64"
includedir="/usr/include"

Name: atlas-blas
Description: atlas atlas-blas
Version: 3.11.38
URL: http://math-atlas.sourceforge.net/
Requires: 
Requires.private: 
Conflicts: 
Libs: -L"/usr/lib64" -L${libdir} -lf77blas 
Libs.private: -L${libdir} -latlas -lm -lpthread
Cflags: -I"/usr/include" -I${includedir}/atlas

I reported stupidness about -L"/usr/lib64" -L${libdir} yesterday but the important bit is that because libatlas (and pthread when present) is properly in the NEEDED section we don't need it in Libs. We don't need to worry about OS X as we don't build ATLAS there - accelerate is used instead. The only real question is cygwin but I hope no troubles will come out of that.

comment:8 follow-up: Changed 3 years ago by fbissey

Problem reproduced and fixed. You will want another numpy bump with that?

comment:9 Changed 3 years ago by fbissey

  • Authors set to François Bissey
  • Branch set to u/fbissey/atlas_pc
  • Commit set to b377e3e8d2dad40568b5e7cfa231a367d104213b
  • Status changed from new to needs_review

Stuff pushed so you can try for yourself.


New commits:

b377e3estreamline atlas's blas/lapack .pc file so it doesn't choke scipy

comment:10 in reply to: ↑ 8 Changed 3 years ago by jdemeyer

Replying to fbissey:

You will want another numpy bump with that?

Numpy depends on $(BLAS) so it will be rebuilt if needed.

I'll test this now.

comment:11 Changed 3 years ago by jdemeyer

  • Reviewers set to Jeroen Demeyer
  • Status changed from needs_review to positive_review

Works for me.

comment:12 Changed 3 years ago by vbraun

  • Branch changed from u/fbissey/atlas_pc to b377e3e8d2dad40568b5e7cfa231a367d104213b
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.