다소 불분명한 지침을 사용하여 내 시스템(Ubuntu 12.04)에 FFTW를 설치하려고 합니다.이 웹사이트, 이제 작동하는지 확인하고 싶습니다. (FFTW1차원 또는 다차원 이산 푸리에 변환을 계산하기 위한 C 서브루틴 라이브러리입니다. ) 웹사이트에서:
FFTW 테스트 프로그램의 성능을 테스트하기 위해 "make check"를 입력할 수도 있습니다.
문제는 웹사이트가 출력 결과가 어떤 모습이어야 하는지 설명하지 않는다는 것입니다. 나는 이것을 시도했고 출력은 다음과 같은 많은 줄이었습니다.
Executing "/home/petur/fftw-3.3.4/tests/bench -o nthreads=2 --verbose=1 --verify 'ok10bx6bx6e11x13b' --verify 'ik10bx6bx6e11x13b' --verify 'obrd7x13v16' --verify 'ibrd7x13v16' --verify 'ofrd7x13v16' --verify 'ifrd7x13v16' --verify '//obcd7x13v16' --verify '//ibcd7x13v16' --verify '//ofcd7x13v16' --verify '//ifcd7x13v16' --verify 'obcd7x13v16' --verify 'ibcd7x13v16' --verify 'ofcd7x13v16' --verify 'ifcd7x13v16' --verify 'okd10bv127' --verify 'ikd10bv127' --verify '//obr240' --verify '//ibr240' --verify '//ofr240' --verify '//ifr240' --verify 'obr240' --verify 'ibr240' --verify 'ofr240' --verify 'ifr240' --verify '//obc240' --verify '//ibc240' --verify '//ofc240' --verify '//ifc240' --verify 'obc240' --verify 'ibc240' --verify 'ofc240' --verify 'ifc240' --verify 'ok11760e00' --verify 'ik11760e00' --verify 'obr33v31' --verify 'ibr33v31' --verify 'ofr33v31' --verify 'ifr33v31' --verify '//obc33v31' --verify '//ibc33v31' --verify '//ofc33v31' --verify '//ifc33v31' --verify 'obc33v31' --verify 'ibc33v31'"
각 항목 뒤에는 수십 줄이 옵니다.
ok10bx6bx6e11x13b 1.5604e-07 1.85166e-05 1.52953e-07
그것은 나에게 많은 것을 말해주지 않습니다. 프로그램은 "FFTW 변환이 기본 테스트를 통과했습니다" 및 "FFTW 스레드 변환이 기본 테스트를 통과했습니다"라고 알려줍니다.
FFTW가 성공적으로 설치되었다는 사실만 알면 충분합니까?
관련이 있는지는 모르겠지만 내용을 확인해 보니 ~/fftw-3.3.4/config.log
오류가 있음을 나타내는 몇 줄이 포함되어 있습니다. 예를 들면 다음과 같습니다.
conftest.c:88:24: error: expected expression before ')' token
conftest.c:118:18: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'newvar'
/usr/local/lib/
이제 포함 파일 도 언급해야 할 것 같습니다.
libfftw3f.a libfftw3f.la libfftw3f_threads.a libfftw3f_threads.la
이는 디렉터리를 삭제할 수 있다는 의미입니까 ~/fftw-3.3.4
, 아니면 여전히 필요합니까?
답변1
라이브러리가 올바르게 설치되었는지 확인하려면 일반적으로 이를 사용하여 프로그램을 빌드해 봅니다.
make check
설치된 파일이 아닌 빌드 트리에서 테스트를 실행합니다. 귀하의 경우에는 통과했습니다. 이는 훌륭하지만 FFTW로 소프트웨어를 구축할 수 있다는 것을 보장하기에는 충분하지 않습니다.
나열한 파일이 있다는 것은 /usr/local/lib
FFTW 정적 링커를 사용할 수 있음을 나타냅니다. 파일도 있기를 바랐 .so
지만 빌드에서 공유 라이브러리를 빌드할 수 없다고 결정했을 수도 있습니다(또는 명시적으로 활성화해야 함).
에서 오류가 나타나는 것은 정상적인 현상입니다 config.log
. configure
프로세스는 많은 수의 검사를 수행하며 그 중 상당수는 실패할 것으로 예상됩니다. 프로세스가 전 세계적으로 성공하면 문제가 없습니다.
소프트웨어를 설치한 후 해당 소프트웨어를 빌드하는 데 사용한 폴더를 삭제하는 것이 안전하므로 삭제할 수 있습니다 ~/fftw-3.3.4
. 그러나 일반적으로 나중에 패키지를 제거할 수 있도록 소스 아카이브를 보관하는 것이 좋습니다( ./configure && sudo make uninstall
).
~처럼파힘하지만 그것이 당신에게는 훨씬 더 간단할 것이라고 언급하세요
sudo apt-get install libfftw3-dev