Fehler verursacht durch undefiniertes Symbol: glXGetProcAddress

Fehler verursacht durch undefiniertes Symbol: glXGetProcAddress

Nach meinem letzten Dist-Upgrade meines Debian-Testsystems lässt sich X nicht mehr starten. Ich sehe den folgenden Fehler (der angezeigt wird, wenn Gnome-Session gestartet wird):

Fehler bei der Symbolsuche: /usr/lib/i386-linux-gnu/libcairo.so.2: undefiniertes Symbol: glXGetProcAddress

Außerdem weigert sich sogar Texlive, ein Upgrade durchzuführen, und zwar mit demselben Fehler (verursacht durch Luatex).

Ich weiß nicht, wie ich dieses Problem beheben kann: Ist es möglich, dass eine wichtige Bibliothek fehlt? Wenn nicht, was könnte sonst dieses Problem verursachen?

Antwort1

@peterphsAntwortwar dem Problem sehr nahe.

Die Grafikkarte war eine Matrox G550 (mga), aber in der Vergangenheit war eine Nvidia installiert und einige GLX-Sachen blieben drin /usr/lib/tls.

Ich habe keine Erfahrung mit dem MGA-Treiber, aber meines Wissens gibt es keine proprietäre GLX-Implementierung, daher haben wir versucht, Mesa zum Laufen zu bringen.

Nach der Installation haben wir es mit geprüft libgl1-mesa-glxund dann mit dem vollständigen Pfad verwendet, um zu verstehen, aus welchen Paketen es ausgewählt und von aufgelöst wurde , nur um zu prüfen, ob es sich um Mesa handelte. Beide Bibliotheken waren in keinem Paket.glx-alternative-mesalibcairoldddpkg -SlibGLlibGLcoreldd

Habe diese Bibliotheken weggeschoben und dieses Mal lddwurde angezeigt, dass die richtigen Mesa-Bibliotheken verwendet wurden. An diesem Punkt habe ich @zar gebeten, dies noch einmal zu überprüfen und seine Antwort war, dass es dieses Mal apt-get -f installordnungsgemäß abgeschlossen und gdm3ohne Fehler ausgeführt wurde.

Auch wenn es ein Fehler ist, können wir meiner Meinung nach keine Fehleranfrage beantworten, da der nicht debianisierte Nvidia-Treiber dasVertrag.

Die Installation proprietärer Treiber ist nochteuflisch, ich verstehe nicht, warum sie ihren eigenen Mist bevorzugen supposed-to-install-everywhere.run, anstatt zumindest mit den großen Distributionen eine Zusammenarbeit anzustreben (die wahrscheinlich kostenlos wäre).

Antwort2

Der Fehler bedeutet, dass Ihrer Cairo-Installation eine Laufzeit-Link-Abhängigkeit fehlt – dem Symbolnamen nach zu urteilen, handelt es sich um ein OpenGL-Implementierungspaket (möglicherweise Mesa), das fehlt/beschädigt ist. Eine Neuinstallation von Cairo könnte helfen, vorausgesetzt, der Paketmanager behebt die Paketabhängigkeiten, die wahrscheinlich die Fehlerursache sind, und installiert alle fehlenden Voraussetzungen.

Sie können auch ldd /usr/lib/i386-linux-gnu/libcairo.so.2Zeilen ausführen und nach ihnen suchen, die => not found- enthalten. Dadurch erfahren Sie, welche Bibliothek auf Ihrem System fehlt. Sie können suchen, welches Paket sie enthält, und sie (erneut) installieren.

Dies ist auch ein typisches Syndrom für Situationen, in denen die abhängigen Pakete aktualisiert werden, ohne ihre Abhängigkeiten zu aktualisieren (das kann beispielsweise bei proprietären Treibern leicht passieren – und war in diesem Fall auch der Fall).

Antwort3

In der RH-Nomenklatur: (Ich kenne das Debian-Verpackungsformat auch nicht)

Ich habe es versucht und Folgendes gefunden:

  1. # sudo **'yum whatprovides /usr/lib/libGL.so.1'**ergibt:

    *mesa-libGL-9.2.5-1.20131220.fc20.i686 : Mesa libGL runtime libraries and DRI drivers*
    

    A. ldddrucktAbhängigkeiten von gemeinsam genutzten Objektbibliotheken, es ist also nicht das richtige Werkzeug für diese Aufgabe, AUSSER es gibt ein Problem mit der Verknüpfung. Ich habe nichts gefunden.

ich schauteSEHR HARTund gefundendiese Frage

  2. Der Rest war einfach:

    # nm -D /usr/lib/libGL.so.1 |grep 'glXGetProcAddress'
    00014310 T glXGetProcAddress
    00014310 T glXGetProcAddressARB

   3. Ich habeAdobe Readerhinterherzulaufen.

Antwort4

Gnomesind entsprechend geschrieben GTK+ libraryund es hängt von cairo der Bibliothek ab, die cairo librarybeim Upgrade aufgetreten ist. Bitte re-installnicht lokal, sondern erneut herunterladen. Verwenden apt-cacheund suchen Sie nach jedemcairo packages

verwandte Informationen