2017-05-23 5 views
0

FFTW C 라이브러리에 파이썬 랩퍼 pyFFTW을 설치하려고하는데 문제가있는 것 같지 않습니다. 나는 공식 페이지 (버전 3.3.6, fftw-3.3.6-pl2.tar.gz)에서 FFTW를 다운로드 제공된 README에 지정된Linux Mint에서 pyFFTW를 설치하지 못했습니다. 18.1 'Serena'

<user>$ ./configure 
<user>$ make 
<user>$ sudo make install 

를 사용 /usr/local/bin에 설치되어 있어야합니다. 그런 다음 website에서 권장하는대로

<user>$ pip install pyfftw 

으로 실행합니다.

<user>$ pip install pyfftw 
     Collecting pyfftw 
     Using cached pyFFTW-0.10.4.tar.gz 
     Building wheels for collected packages: pyfftw 
     Running setup.py bdist_wheel for pyfftw ... error 
     Complete output from command <user>/anaconda2/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ONw2sB/pyfftw/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmprNCz7Kpip-wheel- --python-tag cp27: 
     . 
     . (shortened by me) 
     . 
     In file included from <user>/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1777:0, 
       from <user>/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18, 
       from <user>/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4, 
       from /tmp/pip-build-ONw2sB/pyfftw/pyfftw/pyfftw.c:462: 
     <user>/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp] 
     #warning "Using deprecated NumPy API, disable it by " \ 
     ^
     /tmp/pip-build-ONw2sB/pyfftw/pyfftw/pyfftw.c: In function ‘__pyx_f_6pyfftw_6pyfftw_byte_align.isra.48.constprop’: 
     /tmp/pip-build-ONw2sB/pyfftw/pyfftw/pyfftw.c:3086:6: warning: ‘__pyx_v_update_dtype’ may be used uninitialized in this function [-Wmaybe-uninitialized] 
      if (__pyx_t_1) { 
      ^
     gcc -pthread -shared -L<user>/anaconda2/lib -Wl,-rpath=<user>/anaconda2/lib,--no-as-needed build/temp.linux-x86_64-2.7/tmp/pip-build-ONw2sB/pyfftw/pyfftw/pyfftw.o -L<user>/anaconda2/lib -lfftw3 -lfftw3f -lfftw3l -lfftw3_threads -lfftw3f_threads -lfftw3l_threads -lpython2.7 -o build/lib.linux-x86_64-2.7/pyfftw/pyfftw.so 
     /usr/bin/ld: //usr/local/lib/libfftw3.a(apiplan.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC 
     //usr/local/lib/libfftw3.a: error adding symbols: Bad value 
     collect2: error: ld returned 1 exit status 
     error: command 'gcc' failed with exit status 1 
     ---------------------------------------- 
     Failed building wheel for pyfftw 
     Running setup.py clean for pyfftw 
     Failed to build pyfftw 
     . 
     . (shortened by me) 
     . 
     In file included from <user>/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1777:0, 
       from <user>/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18, 
       from <user>/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4, 
       from /tmp/pip-build-ONw2sB/pyfftw/pyfftw/pyfftw.c:462: 
     <user>/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp] 
     #warning "Using deprecated NumPy API, disable it by " \ 
     ^
     /tmp/pip-build-ONw2sB/pyfftw/pyfftw/pyfftw.c: In function ‘__pyx_f_6pyfftw_6pyfftw_byte_align.isra.48.constprop’: 
     /tmp/pip-build-ONw2sB/pyfftw/pyfftw/pyfftw.c:3086:6: warning: ‘__pyx_v_update_dtype’ may be used uninitialized in this function [-Wmaybe-uninitialized] 
      if (__pyx_t_1) { 
      ^
     gcc -pthread -shared -L<user>/anaconda2/lib -Wl,-rpath=<user>/anaconda2/lib,--no-as-needed build/temp.linux-x86_64-2.7/tmp/pip-build-ONw2sB/pyfftw/pyfftw/pyfftw.o -L<user>/anaconda2/lib -lfftw3 -lfftw3f -lfftw3l -lfftw3_threads -lfftw3f_threads -lfftw3l_threads -lpython2.7 -o build/lib.linux-x86_64-2.7/pyfftw/pyfftw.so 
     /usr/bin/ld: //usr/local/lib/libfftw3.a(apiplan.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC 
     //usr/local/lib/libfftw3.a: error adding symbols: Bad value 
     collect2: error: ld returned 1 exit status 
     error: command 'gcc' failed with exit status 1 

내가 모든 요구 사항을 확인하고 등등 모든 FFTW 사용하기 위해 설치 프로그램과 setuptools에와 있어야한다 ...이 누락 된 패키지와 함께 할 수있는 뭔가가하지만 누가 알고 의심 : 터미널 날이 출력을 제공합니다 . 심지어 github 소스에서 건물을 시도했지만, 이것은 나에게 같은 오류를 준다. 내가 잘못하고있는 것에 대한 제안이 있으십니까?

추 신 : 긴 터미널 출력에 대해 유감스럽게 생각합니다. 이미 중요한 부분으로 줄였습니다.

미리 도움을 청하십시오!

meetaig

+0

OS 이름과 버전을 포함하도록 위의 질문을 수정하시기 바랍니다. –

+0

@Knud Larsen 제목에 있습니다. 나는 Linux Mint를 사용하고있다. 18.1 – meetaig

답변

0

//usr/local/lib/libfftw3.a : 오류 추가 문자 : 잘못된 값

FFTW3의 비 유효 빌드.

필수 {libfftw3.so, libfftw3.so.3, libfftw3f.so.3, libfftw3l.so.3, libfftw3_threads.so.3, libfftw3f_threads.so.3, libfftw3l_threads.so.3}

같은 즉 대부분의 '패키지 관리자'가 제공하는 기본 "(lib) fftw3 + (lib) fftw3-devel"과 같습니다.

예, fftw3을 구축 : (x86_64에 대한 구성)

./configure --enable-shared --enable-threads --enable-openmp --enable-mpi --enable-fortran --enable-sse2 --enable-avx 
+0

나는 그 구성을 시도했지만 mpi가 설치되어 있어도'--enable-mpi'와 함께 실행되지 않는다. 이 옵션을 생략하면'pyfftw '를 설치하려고 할 때와 같은 결과물이 출력됩니다. – meetaig

+0

죄송합니다. '박하 18.1'을 놓치 셨습니다. 왜 시스템'fftw3'을 설치하지 않습니까? ...'sudo apt-get update & sudo apt install libfftw3-dev' : 6 개의'libfftw3' 패키지가 설치 될 것입니다 : https://packages.ubuntu.com/xenial/libfftw3-dev –

+0

고마워, 그 마지막 코멘트 네가 일 했어! 나는 도서관이 fftw3으로 설치되었다고 생각했다. 하지만'libfftw3-dec'을 설치하지 않는 것이 문제였습니다. – meetaig