3

pyFFTW 0.9.2 を OSX mavericks にインストールしようとしましたが、次のエラーが発生しました。

/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)

pyFFTW installation -> cannot find -lfftw3_threadsで述べたように、fftw 3.3.4 を 3 回コンパイルしてインストールしようとしました。しかし、それは私にとってはうまくいきません。

私がした方法は次のとおりです。

./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) セットアップ ファイルを実行すると、上記のエラーが発生します。

私はあなたの助けに感謝します。

4

2 に答える 2

1

私はMacOX 10.11.4とPython 3.5.1をインストールして使用してcondaいますが、上記の答えはうまくいきませんでした。

私はまだこのエラーが発生します:

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

また:

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

私にとってうまくいったのは、私がここで見つけたもののわずかなバリエーションでした:

最初に long double ライブラリをインストールします

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

次に、float および double ライブラリをインストールします

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

comp:fftw-3.3.4 user$ sudo -H  pip install pyfftw

--disable-fortran--enable-sse2フラグは必要ないと思いますが、必要かどうかsudoはわかりませんpipが、これが私にとってはうまくいきました。

/usr/local/lib完了したら、フォルダーには次のファイルが含まれている必要があることに注意してください。

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
于 2016-04-23T06:21:43.140 に答える