几天来,我一直在尝试在系统上numpy-1.7.1
使用时安装。我不久前使用相同的编译器成功编译。MKL-10.3
python-2.7.5
gcc-4.7.2
linux-2.6.18-308.24.1.el5
R-3.0.1
MKL
我将site.cfg
文件修改numpy-1.7.1
如下:
[mkl]
library_dirs = /sb/software/libraries/MKL/10.3/lib/intel64
include_dirs = /sb/software/libraries/MKL/10.3/include
mkl_libs = mkl_rt
lapack_libs =
当我调用时python setup.py install
,它会找到 和的MKL
库。到目前为止,没有任何投诉或警告。一旦我尝试用.BLAS
LAPACK
numpy
$ python
Python 2.7.5 (default, Jul 31 2013, 16:54:43)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> numpy.test('full')
Running unit tests for numpy
NumPy version 1.7.1
NumPy is installed in /sb/project/mjd-574/ndejay/modules/python-2.7.5/lib/python2.7/site-packages/numpy
Python version 2.7.5 (default, Jul 31 2013, 16:54:43) [GCC 4.7.2]
nose version 1.3.0
.................python: symbol lookup error: /sb/software/libraries/MKL/10.3/lib/intel64/libmkl_intel_thread.so: undefined symbol: omp_get_num_procs
这似乎是一个已知问题(指向源的链接),因此libiomp5
不由libmkl_rt
. 当我将路径添加到libiomp5
中的library_dirs
变量时site.cfg
,numpy
无法检测到所有 MKL
库。
我什至尝试了以下方法来强制gcc
使用它自己的openMP
库/头文件,但无济于事。
CFLAGS='-fopenmp -lgomp' python setup.py install
对于此事,我将不胜感激任何形式的帮助或建议。不要犹豫,让我知道我在这个线程中省略了关键信息。
编辑:我在一个x86_64
平台上运行。