我正在尝试在我的 Opensuse 13.1 x86_64 上安装 pyFFTW 几天,并且一直遇到一些问题:由于缺少一些 fftw 库,我第一次无法安装 pyFFTW。我发现最好从源代码安装fftw,然后我就做了。
这解决了缺少库的问题,但是当我尝试从源代码构建 pyFFTW 或使用 pip 进行安装时,会出现不同的问题:
/usr/local/lib64/libfftw3.a: could not read symbols: Bad value
我发现一些人有类似的问题,但不是真正的解决方案。我在这个线程中找到了一个提示,但我不知道在安装过程中我可以在哪里更改编译器标志。此外,我在 fftw 配置过程的日志中发现:
checking for gfortran option to produce PIC... -fPIC
checking if gfortran PIC flag -fPIC works... yes
有任何想法吗?
谢谢!
编辑:
我尝试使用 --enable-shared 并启用作为配置标志
/ ... /x86_64-suse-linux/bin/ld: cannot find -lfftw3f
/ ... /x86_64-suse-linux/bin/ld: cannot find -lfftw3l
/ ... /x86_64-suse-linux/bin/ld: cannot find -lfftw3_threads
/ ... /x86_64-suse-linux/bin/ld: cannot find -lfftw3f_threads
/ ... /x86_64-suse-linux/bin/ld: cannot find -lfftw3l_threads
然后我做了一些研究,发现 ./configure 可以有一个 --enable-float 标志,这将错误消息减少为:
/ ... /x86_64-suse-linux/bin/ld: cannot find -lfftw3l
/ ... /x86_64-suse-linux/bin/ld: cannot find -lfftw3_threads
/ ... /x86_64-suse-linux/bin/ld: cannot find -lfftw3l_threads
由于后缀 l 似乎代表我发现的 long-double,我可以使用 --enable-long-double。但现在我被困在:
/ ... /x86_64-suse-linux/bin/ld: cannot find -lfftw3_threads
我当前的 ./configure 看起来是这样的:
./configure --enable-long-double --enable-threads --enable-openmp --enable-shared
任何人都知道,如何让这个图书馆到位?