building numpy against Cray xtlibsci
I am trying to build numpy against Cray's xtlibsci library on a Cray XT5. I am getting an error I am hoping for hints on how to resolve: In [1]: import numpy <snip> 20 isfinite, size 21 from numpy.lib import triu > 22 from numpy.linalg import lapack_lite 23 from numpy.matrixlib.defmatrix import matrix_power 24 ImportError: /opt/xtlibsci/10.4.0/gnu/lib/libsci.so: undefined symbol: fftw_version These are the symbols in libsci: % nm /opt/xtlibsci/10.4.0/gnu/lib/libsci.so  grep fftw_version 00000000010f9a30 B __crafft_internal__crafft_fftw_version_num U fftw_version 00000000005aa8a4 T get_fftw_version I first built numpy with no custom site.cfg file. It built correctly and all tests ran. But it was too slow. Then I tried building numpy against libsci, which has BLAS, LAPACK, FFTW3 among other things. I had to build a libcblas.a from the netlib src as libsci does not have cblas (using gcc, gfortran 4.3.3). Here is my site.cfg, accumulated from several nice tutorials on how to build numpy on these machines, which for some reason don't work for me. The instructions were based on numpy 1.2. [blas] blas_libs = cblas library_dirs = /global/homes/amir/local/lib [lapack] lapack_libs = sci library_dirs = /opt/xtlibsci/10.4.0/gnu/lib [blas_opt] blas_libs = cblas, sci libraries = cblas, sci [lapack_opt] libraries = sci [fftw] libraries = fftw3 Here is what is linked to lapack_lite.so: % ldd ./numpy/linalg/lapack_lite.so libsci.so => /opt/xtlibsci/10.4.0/gnu/lib/libsci.so (0x00002b4493325000) libgfortran.so.3 => /opt/gcc/4.3.3/snos/lib64/libgfortran.so.3 (0x00002b44a4579000) libm.so.6 => /lib64/libm.so.6 (0x00002b44a4770000) libgcc_s.so.1 => /opt/gcc/4.3.3/snos/lib64/libgcc_s.so.1 (0x00002b44a48c6000) libc.so.6 => /lib64/libc.so.6 (0x00002b44a49dd000) /lib64/ldlinuxx8664.so.2 (0x0000555555554000) Thanks, Amir.
On Mon, May 24, 2010 at 1:57 AM, Amir <amirnntp@gmail.com> wrote:
I am trying to build numpy against Cray's xtlibsci library on a Cray XT5. I am getting an error I am hoping for hints on how to resolve:
In [1]: import numpy <snip> 20 isfinite, size 21 from numpy.lib import triu > 22 from numpy.linalg import lapack_lite 23 from numpy.matrixlib.defmatrix import matrix_power 24
ImportError: /opt/xtlibsci/10.4.0/gnu/lib/libsci.so: undefined symbol: fftw_version
These are the symbols in libsci:
% nm /opt/xtlibsci/10.4.0/gnu/lib/libsci.so  grep fftw_version 00000000010f9a30 B __crafft_internal__crafft_fftw_version_num U fftw_version 00000000005aa8a4 T get_fftw_version
I first built numpy with no custom site.cfg file. It built correctly and all tests ran. But it was too slow.
Then I tried building numpy against libsci, which has BLAS, LAPACK, FFTW3 among other things. I had to build a libcblas.a from the netlib src as libsci does not have cblas (using gcc, gfortran 4.3.3). Here is my site.cfg, accumulated from several nice tutorials on how to build numpy on these machines, which for some reason don't work for me. The instructions were based on numpy 1.2.
[blas] blas_libs = cblas library_dirs = /global/homes/amir/local/lib
[lapack] lapack_libs = sci library_dirs = /opt/xtlibsci/10.4.0/gnu/lib
[blas_opt] blas_libs = cblas, sci libraries = cblas, sci
[lapack_opt] libraries = sci
[fftw] libraries = fftw3
Here is what is linked to lapack_lite.so:
% ldd ./numpy/linalg/lapack_lite.so libsci.so => /opt/xtlibsci/10.4.0/gnu/lib/libsci.so (0x00002b4493325000) libgfortran.so.3 => /opt/gcc/4.3.3/snos/lib64/libgfortran.so.3 (0x00002b44a4579000) libm.so.6 => /lib64/libm.so.6 (0x00002b44a4770000) libgcc_s.so.1 => /opt/gcc/4.3.3/snos/lib64/libgcc_s.so.1 (0x00002b44a48c6000) libc.so.6 => /lib64/libc.so.6 (0x00002b44a49dd000) /lib64/ldlinuxx8664.so.2 (0x0000555555554000)
Curious, fftw shows up in numpy/distutils/system_info.py and f2py, but I think numpy/scipy no longer support fftw. Maybe we should get rid of the references? In any case, you can probably modify numpy/distutils/system_info.py to fix this problem, as it doesn't seem to show up on other systems. Chuck
Charles R Harris <charlesr.harris <at> gmail.com> writes:
On Mon, May 24, 2010 at 1:57 AM, Amir <amirnntp <at> gmail.com> wrote: I am trying to build numpy against Cray's xtlibsci library on a Cray XT5. I
am getting an error I am hoping for hints on how to resolve:
In [1]: import numpy <snip>
20 isfinite, size 21 from numpy.lib import triu > 22 from numpy.linalg import lapack_lite 23 from numpy.matrixlib.defmatrix import matrix_power 24
ImportError: /opt/xtlibsci/10.4.0/gnu/lib/libsci.so: undefined symbol:
fftw_version
These are the symbols in libsci:
% nm /opt/xtlibsci/10.4.0/gnu/lib/libsci.so  grep fftw_version
00000000010f9a30 B __crafft_internal__crafft_fftw_version_num U fftw_version 00000000005aa8a4 T get_fftw_version
I first built numpy with no custom site.cfg file. It built correctly and all
tests ran. But it was too slow.
Then I tried building numpy against libsci, which has BLAS, LAPACK, FFTW3
among other things. I had to build a libcblas.a from the netlib src as libsci does not have cblas (using gcc, gfortran 4.3.3). Here is my site.cfg, accumulated from several nice tutorials on how to build numpy on these machines, which for some reason don't work for me. The instructions were based on numpy 1.2.
[blas] blas_libs = cblas library_dirs = /global/homes/amir/local/lib
[lapack] lapack_libs = sci library_dirs = /opt/xtlibsci/10.4.0/gnu/lib
[blas_opt] blas_libs = cblas, sci libraries = cblas, sci
[lapack_opt] libraries = sci
[fftw] libraries = fftw3
Here is what is linked to lapack_lite.so:
% ldd ./numpy/linalg/lapack_lite.so
libsci.so => /opt/xtlibsci/10.4.0/gnu/lib/libsci.so
(0x00002b4493325000)
libgfortran.so.3 => /opt/gcc/4.3.3/snos/lib64/libgfortran.so.3
(0x00002b44a4579000)
libm.so.6 => /lib64/libm.so.6 (0x00002b44a4770000)
libgcc_s.so.1 => /opt/gcc/4.3.3/snos/lib64/libgcc_s.so.1
(0x00002b44a48c6000)
libc.so.6 => /lib64/libc.so.6 (0x00002b44a49dd000)
/lib64/ldlinuxx8664.so.2 (0x0000555555554000)
Curious, fftw shows up in numpy/distutils/system_info.py and f2py, but I think
numpy/scipy no longer support fftw. Maybe we should get rid of the references? In any case, you can probably modify numpy/distutils/system_info.py to fix this problem, as it doesn't seem to show up on other systems.Chuck
_______________________________________________ NumPyDiscussion mailing list NumPyDiscussion <at> scipy.org http://mail.scipy.org/mailman/listinfo/numpydiscussion
Hi, I try to install Numpy1.4.1 on Crayxt 4 with xtlibsci/10.4.1 with Python/2.6 with shared libraries. Python installation went smoothly but Numpy is a little harder. I simply follow the instructions : python setup.py fgfortran, build,install to installdir . No error, but when I test it submitting a job I obtained : import numpy.linalg.linalg # precompiled from /work/z03/z03/valene/install python/lib/python2.6/sitepackages/numpy/linalg/linalg.pyc dlopen("/work/z03/z03/valene/installpython/lib/python2.6/site packages/numpy/linalg/lapack_lite.so", 2); Traceback (most recent call last): File "python_script.py", line 3, in <module> import numpy File "/work/z03/z03/valene/installpython/lib/python2.6/site packages/numpy/__init__.py", line 132, in <module> import add_newdocs File "/work/z03/z03/valene/installpython/lib/python2.6/site packages/numpy/add_newdocs.py", line 9, in <module> from lib import add_newdoc File "/work/z03/z03/valene/installpython/lib/python2.6/site packages/numpy/lib/__init__.py", line 13, in <module> from polynomial import * File "/work/z03/z03/valene/installpython/lib/python2.6/site packages/numpy/lib/polynomial.py", line 17, in <module> from numpy.linalg import eigvals, lstsq File "/work/z03/z03/valene/installpython/lib/python2.6/site packages/numpy/linalg/__init__.py", line 47, in <module> from linalg import * File "/work/z03/z03/valene/installpython/lib/python2.6/site packages/numpy/linalg/linalg.py", line 22, in <module> from numpy.linalg import lapack_lite ImportError: /opt/xtlibsci/10.4.1/gnu/lib/libsci.so: undefined symbol: fftw_version I thought it was the same error but I don't see how to get rid of fftw in the system_info.py. Thanks
participants (3)

Amir

Charles R Harris

Valene