시스템

[컴파일오류] /usr/bin/ld: cannot find -lgtk-3

by zharyong posted May 01, 2018
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

가 크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form

 컴파일 오류 : /usr/bin/ld: cannot find -lgtk-3에 대한 대책


 소스를 컴파일하다보면 다음과 같이 라이브러리 링크 문제가 발생되는 경우가 있습니다.

 /usr/bin/ld: cannot find -lgtk-3
 /usr/bin/ld: cannot find -lgdk-3
 collect2: error: ld returned 1 exit status

설치된 RPM 패키지에도 lib64gtk+3 라이브러리가 설치되어 있는데도 말이죠.

 [root@ecs build]# rpm -qa | grep lib64gtk
 lib64gtk+3_0-3.22.29-1pclos2018
 lib64gtkmm2.4_1-2.24.5-3pclos2017
 lib64gtkhtml2_0-2.11.1-4pclos2014
 lib64gtkmm3.0_1-3.22.2-1pclos2017
 lib64gtk+-x11-2.0_0-2.24.32-1pclos2018
 lib64gtk+2.0_0-2.24.32-1pclos2018
 lib64gtk+3.0-devel-3.22.30-2pclos2018
 lib64gtk+2.0_0-devel-2.24.32-1pclos2018

이런 경우에는 십중팔구 라이브러리 심볼릭 링크가 깨져 있을 가능성이 높습니다. 예전에는 문제가 없었지만, 어느날부터 이러한 현상이 발생되었다면 심볼릭 링크를 먼저 확인해 볼 필요가 있습니다.

 [root@ecs build]# ls -l /usr/lib64/libgtk*
 lrwxrwxrwx 1 root root      21  4월 25 15:04 /usr/lib64/libgtk-3.so -> libgtk-3.so.0.2200.30
 lrwxrwxrwx 1 root root      21  3월 26 21:37 /usr/lib64/libgtk-3.so.0 -> libgtk-3.so.0.2200.29*
 -rwxr-xr-x 1 root root 7317816  3월 15 09:14 /usr/lib64/libgtk-3.so.0.2200.29*

상기 화면을 보는 바와 같이 심볼릭링크가 깨져 있음을 알 수 있는데, 깨어진 심볼릭 링크는 3.22.30 버전으로 되어 있지만, 실제 설치된 것은 3.22.29 버전으로 링크되어 있어 문제가 발생하는 것입니다. 이것은 lib64gtk+3_0 패키지가 올바르게 설치되지 않아 발생되는 것이므로, 이 패키지를 설치해 주던가 아니면 기존 버전(libgtk-3.so.0.2200.29)으로 심볼릭 링크를 다시 해 주면 됩니다.


Articles

1 2 3 4 5 6 7 8 9 10