
Hi,
I am building numpy on a 32 bit Linux system (Scientific Linux). Numpy used to build fine on this system, but as I have moved to the new 1.0.3 versions, I have run into problems building. Basically, I get lots of things like:
undefined reference to `cblas_sdot'
and
undefined reference to `PyArg_ParseTuple'
Here are some highlight of the build process:
lapack_info: libraries lapack not found in /home2/dechow/work/txp/txpython-0.2-linux/local/lib libraries lapack not found in /usr/local/lib FOUND: libraries = ['lapack'] library_dirs = ['/usr/lib'] language = f77
FOUND: libraries = ['lapack', 'blas'] library_dirs = ['/usr/lib'] define_macros = [('NO_ATLAS_INFO', 1)] language = f77
And later:
creating build/temp.linux-i686-2.5/numpy/core/blasdot compile options: '-DNO_ATLAS_INFO=1 -Inumpy/core/blasdot -Inumpy/core/include -Ibuild/src.linux-i686-2.5/numpy/core -Inumpy/core/src -Inumpy/core/include -I/home2/dechow/work/txp/txpython-0.2-linux/local/include/python2.5 -c' gcc: numpy/core/blasdot/_dotblas.c /usr/bin/gfortran build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o -L/usr/lib -lblas -lgfortran -o build/lib.linux-i686-2.5/numpy/core/_dotblas.so build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x9a): In function `FLOAT_dot': numpy/core/blasdot/_dotblas.c:24: undefined reference to `cblas_sdot' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x14a): In function `DOUBLE_dot': numpy/core/blasdot/_dotblas.c:39: undefined reference to `cblas_ddot' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x201): In function `CFLOAT_dot': numpy/core/blasdot/_dotblas.c:54: undefined reference to `cblas_cdotu_sub' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x2ad): In function `CDOUBLE_dot': numpy/core/blasdot/_dotblas.c:68: undefined reference to `cblas_zdotu_sub' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x2e3): In function `dotblas_alterdot': numpy/core/blasdot/_dotblas.c:83: undefined reference to `PyArg_ParseTuple' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x2f8):numpy/core/blasdot/_dotblas.c:107: undefined reference to `_Py_NoneStruct' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x3e3): In function `dotblas_restoredot': numpy/core/blasdot/_dotblas.c:118: undefined reference to `PyArg_ParseTuple' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x3f8):numpy/core/blasdot/_dotblas.c:144: undefined reference to `_Py_NoneStruct' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x57c): In function `dotblas_matrixproduct': numpy/core/blasdot/_dotblas.c:196: undefined reference to `PyArg_ParseTuple' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x758):numpy/core/blasdot/_dotblas.c:226: undefined reference to `PyTuple_New' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x76c):numpy/core/blasdot/_dotblas.c:83: undefined reference to `PyArg_ParseTuple' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x785):numpy/core/blasdot/_dotblas.c:107: undefined reference to `_Py_NoneStruct' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0xbde):numpy/core/blasdot/_dotblas.c:321: undefined reference to `PyExc_ValueError' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0xbf2):numpy/core/blasdot/_dotblas.c:321: undefined reference to `PyErr_SetString' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0xca8):numpy/core/blasdot/_dotblas.c:539: undefined reference to `PyEval_SaveThread' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0xd30):numpy/core/blasdot/_dotblas.c:696: undefined reference to `PyEval_RestoreThread' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0xfca):numpy/core/blasdot/_dotblas.c:365: undefined reference to `PyEval_SaveThread' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x108f):numpy/core/blasdot/_dotblas.c:589: undefined reference to `PyEval_SaveThread' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x1129):numpy/core/blasdot/_dotblas.c:495: undefined reference to `PyEval_SaveThread' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x11ff):numpy/core/blasdot/_dotblas.c:657: undefined reference to `PyEval_SaveThread' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x131c):numpy/core/blasdot/_dotblas.c:373: undefined reference to `cblas_daxpy' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x13b1):numpy/core/blasdot/_dotblas.c:406: undefined reference to `cblas_zaxpy' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x146c):numpy/core/blasdot/_dotblas.c:435: undefined reference to `cblas_saxpy' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x14f4):numpy/core/blasdot/_dotblas.c:550: undefined reference to `cblas_dgemv' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x1629):numpy/core/blasdot/_dotblas.c:389: undefined reference to `cblas_daxpy' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x16a6):numpy/core/blasdot/_dotblas.c:507: undefined reference to `cblas_ddot' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x171f):numpy/core/blasdot/_dotblas.c:468: undefined reference to `cblas_caxpy' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x17a0):numpy/core/blasdot/_dotblas.c:556: undefined reference to `cblas_sgemv' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x17db):numpy/core/blasdot/_dotblas.c:512: undefined reference to `cblas_sdot' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x188d):numpy/core/blasdot/_dotblas.c:562: undefined reference to `cblas_zgemv' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x19a7):numpy/core/blasdot/_dotblas.c:422: undefined reference to `cblas_zaxpy' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x1a31):numpy/core/blasdot/_dotblas.c:517: undefined reference to `cblas_zdotu_sub' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x1ab2):numpy/core/blasdot/_dotblas.c:569: undefined reference to `cblas_cgemv' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x1b6f):numpy/core/blasdot/_dotblas.c:669: undefined reference to `cblas_dgemm' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x1bb7):numpy/core/blasdot/_dotblas.c:521: undefined reference to `cblas_cdotu_sub' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x1c3f):numpy/core/blasdot/_dotblas.c:605: undefined reference to `cblas_dgemv' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x1d14):numpy/core/blasdot/_dotblas.c:676: undefined reference to `cblas_sgemm' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x1dda):numpy/core/blasdot/_dotblas.c:451: undefined reference to `cblas_saxpy' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x1eaf):numpy/core/blasdot/_dotblas.c:611: undefined reference to `cblas_sgemv' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x1f37):numpy/core/blasdot/_dotblas.c:690: undefined reference to `cblas_cgemm' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x2020):numpy/core/blasdot/_dotblas.c:617: undefined reference to `cblas_zgemv' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x20ea):numpy/core/blasdot/_dotblas.c:484: undefined reference to `cblas_caxpy' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x21c6):numpy/core/blasdot/_dotblas.c:683: undefined reference to `cblas_zgemm' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x2255):numpy/core/blasdot/_dotblas.c:623: undefined reference to `cblas_cgemv' build/temp.linux-i686-2.5/numpy/core/blasdot/_dotblas.o(.text+0x22ec): In function `dotblas_innerproduct': numpy/core/blasdot/_dotblas.c:729: undefined reference to `PyArg_ParseTuple'
Have there been recent changes to distutils that would cause these undefined references to appear?
Thanks
Brian