[Numpy-discussion] trouble building numpy 1.6.1 on Scientific Linux 5
Russell E. Owen
rowen at uw.edu
Fri Dec 9 14:02:26 EST 2011
I'm trying to build numpy 1.6.1 on Scientific Linux 5 but the unit tests
claim the wrong version of fortran was used. I thought I knew how to
avoid that, but it's not working.
I don't have atlas (this needs to run on a lot of
similar-but-not-identical machines). I believe blas and lapack were
built against gfortran:
-bash-3.2$ ldd /usr/lib64/libblas.so
linux-vdso.so.1 => (0x00007fff4bffd000)
libm.so.6 => /lib64/libm.so.6 (0x00002ab26a0c8000)
libgfortran.so.1 => /usr/lib64/libgfortran.so.1 (0x00002ab26a34c000)
libc.so.6 => /lib64/libc.so.6 (0x00002ab26a5e3000)
/lib64/ld-linux-x86-64.so.2 (0x0000003b2ba00000)
-bash-3.2$ ldd /usr/lib64/liblapack.so
linux-vdso.so.1 => (0x00007fffe97fd000)
libblas.so.3 => /usr/lib64/libblas.so.3 (0x00002b6438d75000)
libm.so.6 => /lib64/libm.so.6 (0x00002b6438fca000)
libgfortran.so.1 => /usr/lib64/libgfortran.so.1 (0x00002b643924d000)
libc.so.6 => /lib64/libc.so.6 (0x00002b64394e4000)
/lib64/ld-linux-x86-64.so.2 (0x0000003b2ba00000)
The sysadmins have provided a gcc 4.4.0 compiler that I access using
symlinks on my $PATH:
-bash-3.2$ which gcc g++ gfortran
~/local/bin/gcc
~/local/bin/g++
~/local/bin/gfortran
-bash-3.2$ ls -l ~/local/bin
lrwxrwxrwx 1 rowen astro 14 Oct 28 2010 g++ -> /usr/bin/g++44
lrwxrwxrwx 1 rowen astro 14 Oct 28 2010 gcc -> /usr/bin/gcc44
lrwxrwxrwx 1 rowen astro 19 Dec 5 16:40 gfortran -> /usr/bin/gfortran44
-bash-3.2$ gfortran --version
GNU Fortran (GCC) 4.4.0 20090514 (Red Hat 4.4.0-6)
Copyright (C) 2009 Free Software Foundation, Inc.
For this log I used a home-bulit python 2.6.5 that is widely used.
However, I've tried it with other builds of python that are on our
system, as well, with no better success (including a Python 2.7.2).
-bash-3.2$ which python
/astro/apps/pkg/python64/bin/python
-bash-3.2$ python
Python 2.6.5 (r265:79063, Aug 4 2010, 11:27:53)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
numpy seems to see gfortran when it builds:
-bash-3.2$ python setup.py build --fcompiler=gnu95
Running from numpy source directory.non-existing path in
'numpy/distutils': 'site.cfg'
F2PY Version 2
blas_opt_info:
blas_mkl_info:
... NOT AVAILABLE
atlas_blas_threads_info:
... NOT AVAILABLE
atlas_blas_info:
... NOT AVAILABLE
blas_info:
... FOUND:
libraries = ['blas']
library_dirs = ['/usr/lib64']
language = f77
FOUND:
libraries = ['blas']
library_dirs = ['/usr/lib64']
define_macros = [('NO_ATLAS_INFO', 1)]
language = f77
lapack_opt_info:
lapack_mkl_info:
mkl_info:
... NOT AVAILABLE
NOT AVAILABLE
atlas_threads_info:
... NOT AVAILABLE
atlas_info:
... NOT AVAILABLE
/astro/users/rowen/build/numpy-1.6.1/numpy/distutils/system_info.py:1330:
UserWarning:
Atlas (http://math-atlas.sourceforge.net/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [atlas]) or by setting
the ATLAS environment variable.
warnings.warn(AtlasNotFoundError.__doc__)
lapack_info:
libraries lapack not found in
/astro/apps/lsst_w12_sl5/Linux64/external/python/2.7.2+2/lib
... FOUND:
libraries = ['lapack']
library_dirs = ['/usr/lib64']
language = f77
FOUND:
libraries = ['lapack', 'blas']
library_dirs = ['/usr/lib64']
define_macros = [('NO_ATLAS_INFO', 1)]
language = f77
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands
--compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands
--fcompiler options
running build_src
build_src
building py_modules sources
creating build
creating build/src.linux-x86_64-2.7
creating build/src.linux-x86_64-2.7/numpy
creating build/src.linux-x86_64-2.7/numpy/distutils
building library "npymath" sources
customize Gnu95FCompiler
Found executable /astro/users/rowen/local/bin/gfortran
# I install it in an out-of-the-way location just so I can test it
-bash-3.2$ python setup.py install --home=~/local
...
-bash-3.2$ cd
-bash-3.2$ python
>>> import numpy
>>> numpy.__path__
['/astro/users/rowen/local/lib/python/numpy']
>>> numpy.test()
Running unit tests for numpy
NumPy version 1.6.1
NumPy is installed in /astro/users/rowen/local/lib/python/numpy
Python version 2.6.5 (r265:79063, Aug 4 2010, 11:27:53) [GCC 4.1.2
20080704 (Red Hat 4.1.2-46)]
nose version 0.11.4
....
======================================================================
FAIL: test_lapack (test_build.TestF77Mismatch)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/astro/users/rowen/local/lib/python/numpy/testing/decorators.py", line
146, in skipper_func
return f(*args, **kwargs)
File
"/astro/users/rowen/local/lib/python/numpy/linalg/tests/test_build.py",
line 50, in test_lapack
information.""")
AssertionError: Both g77 and gfortran runtimes linked in lapack_lite !
This is likely to
cause random crashes and wrong results. See numpy INSTALL.txt for more
information.
----------------------------------------------------------------------
Ran 3533 tests in 13.400s
Any suggestions on how to fix this?
-- Russell
More information about the NumPy-Discussion
mailing list