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

_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to