خطأ في ربط مكتبات فتو لتثبيت بيفتو
-
20-12-2019 - |
سؤال
حاولت تثبيت بيفتو 0.9.2 إلى أوسك مافريكس ، ولكن واجهت الأخطاء التالية:
/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)
كما ذكر في تركيب بيفتو - > لا يمكن العثور -لفت 3_المواضيع, ، حاولت تجميع وتثبيت فتو 3.3.4 لمدة ثلاث مرات.لكنها لا تعمل بالنسبة لي.
كيف فعلت كان:
./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
ثم أقوم بتشغيل ملفات إعداد بيثون (2.7) في مجلد بيفتو ، وأحصل على الخطأ أعلاه.
أنا أقدر مساعدتك.
المحلول
كان لدي نفس المشكلة على OSX 10.9.4 Maverick. جرب هذا: قم بتنزيل FFTW 3.3.4 من فتح نافذة محطة وتذهب في دليل FFTW المستخرج وتشغيل هذه الأوامر:
giveacodicetagpre.من تثبيت pyfftw باستخدام pip كما هو مقترح:
giveacodicetagpre.نصائح أخرى
أنا باستخدام ماكوكس 10.11.4 و بيثون 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
ماذا فعل كان العمل بالنسبة لي اختلاف طفيف على ما وجدت هنا:
أولا تثبيت مكتبات طويلة مزدوجة
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
ثم قم بتثبيت مكتبات عائمة ومزدوجة
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