본문 바로가기
Computer Science/Computer Graphics

[GLFW][실습] import GLFW 에러 해결 방법 (Failed to load GLFW3 shared library.)

by Gofo 2021. 3. 9.

실습 환경은 다음과 같다.

Mac OS Big Sur (Apple M1, 2020)

 

GLFW import 에러

 

수업을 듣기 위해 파이썬 가상환경을 구축하였다.

그런데 <pre>import glfw</pre>만 하면 계속 오류가 발생하였다.

 

오류 내용 : ImportError: Failed to load GLFW3 shared library.

아마 <pre>pip3 install glfw</pre>을 통해서 설치를 했지만 GLFW3 라이브러리가 없기 때문에 발생한 듯 하다. (정확한 이유는 잘..)

GLFW import error

 


해결 방법

라이브러리 디렉터리에 GLFW3 라이브러리를 넣어주면 해결된다.

 

우선, glfw 라이브러리 다운로드 페이지(클릭)으로 가서 macOS binaries를 다운받는다.

 

다운받은 파일의 압축을 풀면 아래와 같이 각 환경별 라이브러리가 존재한다.

자신의 컴퓨터 환경에 맞는 폴더에 들어가서 dylib 확장명을 가진 파일을 준비한다.

glfw libraries 다운

 

이제 lib 디렉터리에 자신의 환경에 맞는 라이브러리를 넣으면 된다.

 

필자는 가상환경을 구축하였기 때문에 lib 디렉터리가 기본과 달랐기 때문에, 터미널에 <pre>pip show glfw</pre>을 입력해서 경로를 알아내었다.

GLFW path

 

위의 Location 중 lib까지의 경로로 진입한다. (사진에서는 /Users/blank/.virtualenvcs/cg-course/lib 까지)

여기에 아까 준비해놓은 dylib 파일을 붙여넣고 더블클릭하여 실행한다.

 

아마 처음에는 "앱을 열 수 없습니다. Apple 악성 소프트웨어를 확인할 수 없습니다"라는 에러가 발생할 것이다.

그러면 "시스템 환경설정 > 보안 및 개인 정보 보호"에 들어간 후 왼쪽 아래의 자물쇠를 눌러 락을 해제한다.

 

(사진을 찍지 못했지만) "App store 및 확인된 개발자" 옵션 옆에 실패한 로그가 뜰 것이다.

해당 로그를 눌러주면 임시로 설치가 허용된다. 이후 아까의 dylib 파일을 더블클릭하여 실행시킨다.

좌 : 락 해제 전 / 우 : 락 해제 후

이후 <pre>import glfw</pre>을 하면 정상작동하는 것을 볼 수 있다.

 

PS. 실패 로그가 뜨지 않는 경우

dylib 파일을 재실행 해보고 실패 로그가 뜨지 않는다면, 터미널을 실행한 후 <pre>sudo spctl --master-disable</pre>을 입력한다.

그러면 "App Store 및 확인된 개발자" 옵션 아래에 "Anywhere" 옵션이 새로 추가되는데 이를 선택한 후, 아까의 dylib 파일을 더블클릭하여 실행시킨다.

실행 후 <pre>sudo spctl --master-enable</pre>을 입력해서 원상복구한다.

 

이후 <pre>import glfw</pre>을 하면 정상작동하는 것을 볼 수 있다.

 

 

 

'Computer Science > Computer Graphics' 카테고리의 다른 글

[GLFW] Input handling  (0) 2021.03.13
[OpenGL] Vertex의 기본  (0) 2021.03.12
[OpenGL] OpenGL이란?  (0) 2021.03.10
NumPy의 Array  (0) 2021.03.09
컴퓨터그래픽스와 도구  (0) 2021.03.08

댓글