On Fri, Dec 9, 2011 at 8:02 PM, Russell E. Owen <ro...@uw.edu> wrote:
> 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? > I assume you have g77 installed and on your PATH. If so, try moving it off your path. Ralf
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion