본문 바로가기
카테고리 없음

Mac OS에서 R 패키지 설치시 Unsupported option '-fopenmp' 문제 해결법

by Data_to_Impact 2020. 9. 17.
반응형

Mac OS에서 Unsupported option '-fopenmp' 문제 해결법

Unsupported option '-fopenmp;

최근 연구를 하고 있는 BMDS란 주제를 가지고 관련 R 패키지를 만드는 프로젝트에 참여하고 있는 중 인데, 내 Mac OS에서 컴파일을 하려고 보니 위와 같은 에러 메세지가 발생을 하고 컴파일이 되지 않았다. 

 

패키지를 처음 release한 개발자에게 물어보니 본인은 Linux환경에서 프로그램을 개발을 하고 있고, Linux나 Windows에는 이상 없이 잘 되는데, Mac은 아마 추가 작업이 필요할 것이라고만 코멘트를 남겨주고,  Mac OS의 기본 Clang이 OpenMP를 지원하지 않아서 그렇다는 코맨트를 남기고 솔루션은 너가 알아서 찾아봐라라는 식의 대답을 줘서 세시간정도 삽질을 거친 이후에 이 문제를 해결을 하였다.

 

 

  • "Unsupported option '-fopenmp' 컴파일 에러 해결책

 

1. 터미널을 열고 패키지 매니징 소프트웨어인 Home Brew를 설치한다 (https://brew.sh/)

2. Brew 에서 llvm 를 설치한다. (터미널에서 brew install llvm)

 

 

3. vim이나 다른 택스트 편집소프트웨어로 makevars 라는 이름을 가진 파일을  ~/.R/에 만든다. (~는 본인의 home디렉토리를 의미한다.)

아마 ~/.R/폴더가 없을 수 도 있는데 이때는 터미널에서 직접 폴더를 만들어야 한다. 터미널에서 mkdir 을 이용해서 .R폴더를 만들어야 한다.  

 

 

4. makevars 파일을 열고 아래 회색박스의 내용을 붙여넣기 하고 저장을한다. 

C=/usr/local/opt/llvm/bin/clang
CXX=/usr/local/opt/llvm/bin/clang++

VIM에서 makevars 파일을 만들고 위 내용을 붙이는 예시. 

6. R 콘솔에서 해당 패키지를 설치한다.

 

R 콘솔 명령어 - install.packages("path_of_Package.tar.gz", repos = NULL, type =‘‘source’’). 

"path_of_Package.tar.gz" 부분을 파일 경로에 맞게 수정을 해주고 설치를 시도한다.

 

7. 위 과정이 제대로 이루어 졌다면 -fopenmp 문제는 해결이 될 것이고 패키지도 문제없이 컴파일이 될 것이다. 

 

마무리 

 

적고나니 굉장히 간단해 보이지만, 해결을 한다고 엄청난 삽질을 했었다. 내 블로그를 읽고 계신 분들 중에 똑같은 문제를 가지고 계신 분들이 조금이나마 시행착오를 줄일 수 있으면 하는 마음에 솔루션을 정리해 본다.  

 

 

글이 도움이 되셨다면 구독좋아요 부탁드립니다!

반응형

댓글