首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >链接用于pyFFTW安装的fftw库时出错

链接用于pyFFTW安装的fftw库时出错
EN

Stack Overflow用户
提问于 2014-07-28 17:37:50
回答 2查看 2.2K关注 0票数 3

我试图将pyFFTW 0.9.2安装到OSX中,但遇到了以下错误:

代码语言:javascript
复制
/usr/bin/clang -bundle -undefined dynamic_lookup
-L//anaconda/lib -arch x86_64 -arch x86_64 
build/temp.macosx-10.5-x86_64-2.7/anaconda/lib/python2.7/site-packages/pyFFTW-master/pyfftw/pyfftw.o 
-L//anaconda/lib -lfftw3 -lfftw3f -lfftw3l -lfftw3_threads -lfftw3f_threads -lfftw3l_threads 
-o build/lib.macosx-10.5-x86_64-2.7/pyfftw/pyfftw.so

ld: library not found for -lfftw3

clang: error: linker command failed with exit code 1 (use -v to see invocation)

正如在线程中提到的,我曾三次编译和安装FFTW3.3.4。但这对我不起作用。

我所做的是:

代码语言:javascript
复制
./configure --enable-float --enable-share  => make => make install
./configure --enable-long-double --enable-share  => make => make install
./configure --enable-threads --enable-share  => make => make install

然后在pyFFTW文件夹中运行python (2.7)安装文件,并得到上面的错误。

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-31 14:49:00

我在OSX 10.9.4 Maverick上也有过同样的问题。尝试如下:下载FFTW3.3.4,然后打开一个终端窗口,进入解压的FFTW目录并运行以下命令:

代码语言:javascript
复制
$ ./configure --enable-long-double --enable-threads
$ make
$ sudo make install
$ ./configure --enable-float --enable-threads
$ make
$ sudo make install

而不是按建议使用pip安装pyFFTW:

代码语言:javascript
复制
$ sudo pip install pyfftw
票数 3
EN

Stack Overflow用户

发布于 2016-04-23 06:21:43

我使用的是通过MacOX安装的conda 10.11.4和Python3.5.1,上面的答案对我无效。

我仍然会得到这个错误:

代码语言:javascript
复制
ld: library not found for -lfftw3l
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'gcc' failed with exit status 1

----------------------------------------
Failed building wheel for pyfftw

或者:

代码语言:javascript
复制
ld: library not found for -lfftw3l_threads
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'gcc' failed with exit status 1

----------------------------------------
Failed building wheel for pyfftw

对我起作用的是我发现的这里的细微变化

先安装长双库

代码语言:javascript
复制
comp:fftw-3.3.4 user$ ./configure --enable-threads --enable-shared --disable-fortran --enable-long-double CFLAGS="-O3 -fno-common -fomit-frame-pointer -fstrict-aliasing"
comp:fftw-3.3.4 user$ make
comp:fftw-3.3.4 user$ sudo make install

然后安装浮动库和双库。

代码语言:javascript
复制
comp:fftw-3.3.4 user$ ./configure --enable-threads --enable-shared --disable-fortran --enable-sse2 --enable-float CFLAGS="-O3 -fno-common -fomit-frame-pointer -fstrict-aliasing"
comp:fftw-3.3.4 user$ make
comp:fftw-3.3.4 user$ sudo make install
comp:fftw-3.3.4 user$ ./configure --enable-threads --enable-shared --disable-fortran --enable-sse2 CFLAGS="-O3 -fno-common -fomit-frame-pointer -fstrict-aliasing"
comp:fftw-3.3.4 user$ make
comp:fftw-3.3.4 user$ sudo make install

然后安装pyfftw

代码语言:javascript
复制
comp:fftw-3.3.4 user$ sudo -H  pip install pyfftw

我不认为--disable-fortran--enable-sse2标志是必要的,我也不确定sudo对于pip是否必要,但这才是对我有用的。

注意,当您完成时,/usr/local/lib文件夹应该包含以下文件:

代码语言:javascript
复制
libfftw3.3.dylib
libfftw3.a
libfftw3.dylib
libfftw3.la
libfftw3_threads.3.dylib
libfftw3_threads.a
libfftw3_threads.dylib
libfftw3_threads.la
libfftw3f.3.dylib
libfftw3f.a
libfftw3f.dylib
libfftw3f.la
libfftw3f_threads.3.dylib
libfftw3f_threads.a
libfftw3f_threads.dylib
libfftw3f_threads.la
libfftw3l.3.dylib
libfftw3l.a
libfftw3l.dylib
libfftw3l.la
libfftw3l_threads.3.dylib
libfftw3l_threads.a
libfftw3l_threads.dylib
libfftw3l_threads.la
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25000994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档