안녕하세요,
컴파일 중 라이브러리 사용하는데 애를 먹고 있습니다.
서버 컴퓨터라 linux 환경이고, 포트란에 인텔 mkl이라는 라이브러리를 사용하려합니다.
제가 환경을 구축한게 아니고 서버컴 구매 당시 컴파일러 및 mkl가 설치돼서 왔습니다.
/opt/intel/ 경로에 컴파일러 및 mkl 폴더가 있고, echo $MKLROOT 이런거로 환경변수 검색도 해봤고,
mkl 가이드 파일 중 설치되면 있다는 파일들도 제대로 있는지 대조해봤습니다.
그래서 간단히 라이브러리 링크가 잘 되는지 확인을 해보기 위해서
use MKL_DFTI << 포트란에서 라이브러리 불러오는 명령어
만 넣고 컴파일하니
Check INCLUDE paths. [MKL_DFTI] use MKL_DFTI
이런 오류가 뜨면서 컴파일이 되질 않습니다.
컴파일은 ifort -mkl test.f90 입니다.
무슨 -l$MKLROOT/..../ -lm 뭐 이런식으로 엄청 복잡해 보이는 내용을 컴파일 할 때 넣어보라 했는데, 그것도 되지 않았습니다.
구글 검색을 해보니 저와 같은 문제를 겪는 사람이 있어서 답글로
ifort -mkl $MKLROOT/include/mkl_dfti.f90 test.f90
이렇게 해보라고 되어 있더라구요.
그래서 저대로 해봤더니 컴파일이 제대로 됩니다.
혹시 몰라서 환경변수 지정해주는 스크립트도 다시 실행해봤는데
ifort -mkl test.f90 이걸로는 컴파일이 여전히 안 되네요..
컴파일 할때마다 $MKLROOT/include/mkl_dfti.f90 이 경로를 계속 지정해줘야하는건가요??ㅜㅜ
포트란이 설치된 경로는 /opt/intel/Compiler이고,
mkl이 설치된 경로는 /opt/intel/MKL/ 인데,
MKL 폴더가 Compiler 안에 없어서 경로를 못잡는건가요?