error causado por un símbolo no definido: glXGetProcAddress

error causado por un símbolo no definido: glXGetProcAddress

Después de mi última actualización dist de mi sistema Debian de prueba, X se niega a iniciarse. Puedo ver el siguiente error (que aparece cuando se inicia gnome-session):

Error de búsqueda de símbolos: /usr/lib/i386-linux-gnu/libcairo.so.2: símbolo no definido: glXGetProcAddress

Además, incluso texlive se niega a actualizar, con el mismo error (provocado por luatex).

No sé cómo solucionar este problema: ¿es posible que falte una biblioteca crucial? Si no, ¿qué más podría causar este problema?

Respuesta1

@peterphrespuestaestaba muy cerca del problema.

La tarjeta de video era una Matrox G550 (mga), pero en el pasado se instaló una nvidia y quedaron algunas cosas glx /usr/lib/tls.

No tengo experiencia con el controlador mga, pero tengo entendido que no existe una implementación patentada de glx, por lo que seguimos adelante intentando que la mesa funcione.

Una vez instalado libgl1-mesa-glxy glx-alternative-mesaverificamos libcairocon ldd, luego usamos dpkg -Sla ruta completa para comprender de qué paquetes se eligieron libGLy libGLcoreresolvieron ldd, solo para verificar que era mesa, ambas bibliotecas no estaban en ningún paquete.

Alejé esas bibliotecas y esta vez lddse mostraron las bibliotecas de mesa correctas. En este punto le pedí a @zar que verificara nuevamente y su respuesta fue que esta vez apt-get -f installfinalizó correctamente y gdm3se ejecutó sin errores.

Incluso siendo un error, creo que no podemos completar ninguna solicitud de error ya que el controlador nvidia no debianizado rompió elcontrato.

La instalación de controladores propietarios aún estádemonio, No entiendo por qué prefieren su propia basura supposed-to-install-everywhere.runen lugar de buscar algún esfuerzo de colaboración al menos con las principales distribuciones (que probablemente sería gratis/sin cargo).

Respuesta2

El error significa que a su instalación de Cairo le falta la dependencia del enlace en tiempo de ejecución; a juzgar por el nombre del símbolo, es un paquete de implementación OpenGL (tal vez Mesa) el que falta/está dañado. Reinstalar Cairo podría ayudar, siempre que el administrador de paquetes corrija las dependencias de los paquetes, que probablemente sean la causa del error, e instale todos los requisitos previos que faltan.

También puede ejecutar ldd /usr/lib/i386-linux-gnu/libcairo.so.2y buscar líneas que contengan => not found- que le indicarán qué biblioteca falta en su sistema, buscar qué paquete la contiene y (re)instalarla.

Este también es un síndrome típico de situaciones en las que los paquetes dependientes se actualizan sin actualizar sus dependencias (eso puede suceder fácilmente, por ejemplo, con controladores propietarios, como resultó ser el caso aquí).

Respuesta3

En nomenclatura RH: (tampoco conozco el formato de empaquetado de Debian)

Lo intenté y encontré lo siguiente:

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

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

    A. lddimpresionesdependencias de la biblioteca de objetos compartidos, por lo que no es la herramienta para el trabajo A MENOS que haya un problema con el enlace. No encontré nada.

MiréREALMENTE DIFÍCILy encontradoesta pregunta

  2. El resto fue fácil:

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

   3. tengoAdobe Readercorrer tras esto.

Respuesta4

Gnomeestán escritos de acuerdo GTK+ libraryy dependen de cairo la biblioteca, cairo libraryocurrió cuando actualizó, por favor re-install, no desde local, descárguelo nuevamente. Úselo apt-cachey busque cadacairo packages

información relacionada