building numpy against Cray xt-libsci
![](https://secure.gravatar.com/avatar/4baacb76b4b5f2361799a6da374b07f2.jpg?s=120&d=mm&r=g)
I am trying to build numpy against Cray's xt-libsci 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/xt-libsci/10.4.0/gnu/lib/libsci.so: undefined symbol: fftw_version These are the symbols in libsci: % nm /opt/xt-libsci/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/xt-libsci/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/xt-libsci/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/ld-linux-x86-64.so.2 (0x0000555555554000) Thanks, Amir.
![](https://secure.gravatar.com/avatar/96dd777e397ab128fedab46af97a3a4a.jpg?s=120&d=mm&r=g)
On Mon, May 24, 2010 at 1:57 AM, Amir <amirnntp@gmail.com> wrote:
I am trying to build numpy against Cray's xt-libsci 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/xt-libsci/10.4.0/gnu/lib/libsci.so: undefined symbol: fftw_version
These are the symbols in libsci:
% nm /opt/xt-libsci/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/xt-libsci/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/xt-libsci/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/ld-linux-x86-64.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
![](https://secure.gravatar.com/avatar/9ee13ce866f3383ce882d50688a65b44.jpg?s=120&d=mm&r=g)
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 xt-libsci 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/xt-libsci/10.4.0/gnu/lib/libsci.so: undefined symbol:
fftw_version
These are the symbols in libsci:
% nm /opt/xt-libsci/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/xt-libsci/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/xt-libsci/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/ld-linux-x86-64.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
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion <at> scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
Hi, I try to install Numpy-1.4.1 on Cray-xt 4 with xt-libsci/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 install-dir . 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/site-packages/numpy/linalg/linalg.pyc dlopen("/work/z03/z03/valene/install-python/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/install-python/lib/python2.6/site- packages/numpy/__init__.py", line 132, in <module> import add_newdocs File "/work/z03/z03/valene/install-python/lib/python2.6/site- packages/numpy/add_newdocs.py", line 9, in <module> from lib import add_newdoc File "/work/z03/z03/valene/install-python/lib/python2.6/site- packages/numpy/lib/__init__.py", line 13, in <module> from polynomial import * File "/work/z03/z03/valene/install-python/lib/python2.6/site- packages/numpy/lib/polynomial.py", line 17, in <module> from numpy.linalg import eigvals, lstsq File "/work/z03/z03/valene/install-python/lib/python2.6/site- packages/numpy/linalg/__init__.py", line 47, in <module> from linalg import * File "/work/z03/z03/valene/install-python/lib/python2.6/site- packages/numpy/linalg/linalg.py", line 22, in <module> from numpy.linalg import lapack_lite ImportError: /opt/xt-libsci/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