Bug 1019719 - numpy.distutils.system_info.get_info broken due to new ATLAS library layout
Summary: numpy.distutils.system_info.get_info broken due to new ATLAS library layout
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: numpy
Version: 22
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Orion Poplawski
QA Contact: Fedora Extras Quality Assurance
URL: https://github.com/numpy/numpy/issues...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-10-16 09:39 UTC by Sergio Pascual
Modified: 2016-07-19 10:29 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-07-19 10:29:43 UTC
Type: Bug


Attachments (Terms of Use)

Description Sergio Pascual 2013-10-16 09:39:04 UTC
ATLAS has changed the number and names of libraries it provides in its last version. 

https://lists.fedoraproject.org/pipermail/devel/2013-September/189467.html

It this new layout, numpy.distutils.system_info.get_info does not detect ATLAS anymore.


In Rawhide VM

$ rpm -q atlas-devel
atlas-devel-3.10.1-6.fc21.x86_64
$ python
Python 2.7.5 (default, Oct  8 2013, 12:16:00) 
[GCC 4.8.1 20130920 (Red Hat 4.8.1-10)] on linux2
Type "help", "copyright", "credits" or "license" for more information. 
>>> from numpy.distutils.system_info import get_info
>>> get_info('atlas', 0)
{}

In my F19 system
$ rpm -q atlas-devel
atlas-devel-3.8.4-8.fc19.x86_64
$ python
Python 2.7.5 (default, Oct  8 2013, 12:16:00) 
[GCC 4.8.1 20130920 (Red Hat 4.8.1-10)] on linux2
Type "help", "copyright", "credits" or "license" for more information. 
>>> from numpy.distutils.system_info import get_info
>>> get_info('atlas', 0)
Found executable /usr/bin/gfortran
ATLAS version 3.8.4 built by mockbuild on Sun Jan 27 19:59:13 UTC 2013:
   UNAME    : Linux buildvm-18.phx2.fedoraproject.org 2.6.32-279.19.1.el6.x86_64 #1 SMP Sat Nov 24 14:35:28 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
   INSTFLG  : -1 0 -a 1
   ARCHDEFS : -DATL_OS_Linux -DATL_ARCH_PM -DATL_CPUMHZ=2533 -DATL_SSE2 -DATL_SSE1 -DATL_USE64BITS -DATL_GAS_x8664
   F2CDEFS  : -DAdd_ -DF77_INTEGER=int -DStringSunStyle
   CACHEEDGE: 4194304
   F77      : gfortran, version GNU Fortran (GCC) 4.8.0 20130124 (Red Hat 4.8.0-0.6)
   F77FLAGS : -O -g -Wa,--noexecstack -fPIC -m64
   SMC      : gcc, version gcc (GCC) 4.8.0 20130124 (Red Hat 4.8.0-0.6)
   SMCFLAGS : -O -fomit-frame-pointer -g -Wa,--noexecstack -fPIC -m64
   SKC      : gcc, version gcc (GCC) 4.8.0 20130124 (Red Hat 4.8.0-0.6)
   SKCFLAGS : -O -fomit-frame-pointer -g -Wa,--noexecstack -fPIC -m64
{'libraries': ['lapack', 'f77blas', 'cblas', 'atlas'], 'library_dirs': ['/usr/lib64/atlas'], 'define_macros': [('ATLAS_INFO', '"\\"3.8.4\\""')], 'language': 'f77', 'include_dirs': ['/usr/include']}
>>> 

There is some debate about the packaging of ATLAS in this ticket in the FPC site

https://fedorahosted.org/fpc/ticket/352

so perhaps is better to wait until there's an "official decision" to fix this.

Comment 1 Orion Poplawski 2013-10-16 15:26:57 UTC
I'm now getting:

Python 2.7.5 (default, Oct  8 2013, 12:16:00)
[GCC 4.8.1 20130920 (Red Hat 4.8.1-10)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from numpy.distutils.system_info import get_info
>>> get_info('atlas', 0)
/usr/lib64/python2.7/site-packages/numpy/distutils/system_info.py:1062: UserWarning:
*********************************************************************
    Could not find lapack library within the ATLAS installation.
*********************************************************************

  warnings.warn(message)
{'libraries': ['satlas'], 'library_dirs': ['/usr/lib64/atlas'], 'define_macros': [('ATLAS_WITHOUT_LAPACK', None)], 'language': 'c', 'include_dirs': ['/usr/include']}

I've made a note in the upstream bug report.

Comment 2 charles harris 2014-12-10 20:50:42 UTC
You can use site.cfg to work around that.

[DEFAULT]
library_dirs = /usr/lib64
include_dirs = /usr/include

# Atlas
# -----
# Atlas is an open source optimized implementation of the BLAS and Lapack
# routines. Numpy will try to build against Atlas by default when available in
# the system library dirs. To build numpy against a custom installation of
# Atlas you can add an explicit section such as the following. Here we assume
# that Atlas was configured with ``prefix=/opt/atlas``.
#
[atlas]
library_dirs = /usr/lib64/atlas
include_dirs = /usr/include
atlas_libs = tatlas
lapack_libs = tatlas

Comment 3 charles harris 2014-12-10 20:51:39 UTC
This bug report should probably be directed to numpy.

Comment 4 Jaroslav Reznik 2015-03-03 16:56:13 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle.
Changing version to '22'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22

Comment 5 Fedora End Of Life 2016-07-19 10:29:43 UTC
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.