테스트 데비안 시스템을 마지막으로 업그레이드한 후 X가 시작을 거부합니다. 다음 오류가 표시됩니다(gnome-session이 시작될 때 표시됨).
기호 조회 오류: /usr/lib/i386-linux-gnu/libcairo.so.2: 정의되지 않은 기호: glXGetProcAddress
게다가 texlive조차도 동일한 오류(luatex로 인해 발생)로 업그레이드를 거부합니다.
이 문제를 해결하는 방법을 모르겠습니다. 중요한 라이브러리 하나가 누락되었을 가능성이 있습니까? 그렇지 않다면 또 무엇이 이 문제를 일으킬 수 있습니까?
답변1
@peterph의답변문제에 매우 가깝습니다.
비디오 카드는 Matrox G550(mga)이었지만 과거에는 nvidia가 설치되어 있었고 일부 glx 항목이 /usr/lib/tls
.
나는 mga 드라이버를 사용해 본 적이 없지만 독점적인 glx 구현이 없다는 것을 알고 있으므로 우리는 메사가 작동하도록 노력했습니다.
일단 설치 libgl1-mesa-glx
하고 with 를 glx-alternative-mesa
확인한 다음 어떤 패키지가 선택되고 에 의해 해결되었는지 이해하기 위해 전체 경로를 사용 했습니다. 단지 메사인지 확인하기 위해 두 라이브러리가 어떤 패키지에도 없었습니다.libcairo
ldd
dpkg -S
libGL
libGLcore
ldd
해당 라이브러리를 다른 곳으로 옮겼고 이번에는 ldd
올바른 메사 라이브러리가 사용되었음을 표시했습니다. 이 시점에서 저는 @zar에게 다시 확인하도록 요청했고 그의 대답은 이번에는 apt-get -f install
제대로 끝났고 gdm3
오류 없이 실행된다는 것이었습니다.
버그임에도 불구하고 데비안화되지 않은 NVIDIA 드라이버가 버그 요청을 처리할 수 없다고 생각합니다.계약.
전용 드라이버 설치가 아직 진행 중입니다.사악한supposed-to-install-everywhere.run
, 나는 그들이 적어도 주요 배포판(아마도 무료/무료로 제공될 것임)과의 협력 노력을 찾는 대신 왜 자신의 쓰레기를 선호하는지 이해하지 못합니다 .
답변2
이 오류는 Cairo 설치에 런타임 링크 종속성이 누락되었음을 의미합니다. 기호 이름으로 판단하면 누락/손상된 OpenGL 구현 패키지(아마도 Mesa)입니다. 패키지 관리자가 오류의 원인일 수 있는 패키지 종속성을 수정하고 누락된 필수 구성 요소를 모두 설치하는 경우 Cairo를 다시 설치하면 도움이 될 수 있습니다.
ldd /usr/lib/i386-linux-gnu/libcairo.so.2
다음을 포함하는 행을 실행하고 확인할 수도 있습니다 => not found
. 그러면 시스템에 어떤 라이브러리가 누락되었는지 알려주고, 해당 라이브러리가 포함된 패키지를 검색하여 (다시)설치합니다.
이는 또한 종속성을 업데이트하지 않고 종속 패키지가 업데이트되는 상황에 대한 일반적인 증후군이기도 합니다(예를 들어 독점 드라이버에서 쉽게 발생할 수 있으며 여기서는 사례로 밝혀졌습니다).
답변3
RH 명명법: (저는 데비안 패키징 형식도 모릅니다)
시도한 결과 다음을 발견했습니다.
# sudo **'yum whatprovides /usr/lib/libGL.so.1'**
수익률:*mesa-libGL-9.2.5-1.20131220.fc20.i686 : Mesa libGL runtime libraries and DRI drivers*
A.
ldd
인쇄공유 개체 라이브러리 종속성이므로 연결에 문제가 없는 한 작업용 도구가 아닙니다. 나는 아무것도 찾지 못했습니다.
나는 보았다정말 열심히그리고 발견이 질문
2. 나머지는 쉬웠습니다.
# nm -D /usr/lib/libGL.so.1 |grep 'glXGetProcAddress'
00014310 T glXGetProcAddress
00014310 T glXGetProcAddressARB
3. 나는 얻었다어도비 리더이 후에 실행합니다.
답변4
Gnome
에 따라 작성되었으며 라이브러리 GTK+ library
에 따라 다릅니다 . 업그레이드할 때 발생했습니다. 로컬이 아닌 로컬에서 다시 다운로드하십시오. 사용 하고 모든 항목을 검색하십시오.cairo
cairo library
re-install
apt-cache
cairo packages