Steam: error al cargar bibliotecas compartidas: libGL.so.1: clase ELF incorrecta: ELFCLASS64

11

Después de la instalación del controlador Nvidia cuando intento ejecutar Steam, aparece este error:

steam: error while loading shared libraries: libGL.so.1: wrong ELF class: ELFCLASS64

Encontré esta pregunta y una de las respuestas que sugieren instalar:

sudo apt-get install libgl1-mesa-glx:i386

Ya lo he instalado libgl1-mesa-glx:i386. De lo que encontré esto . Sugiere hacer un enlace simbólico a 32bit libGL. ¿Cómo puede hacer eso? ¿Tiene alguna otra sugerencia?

Olcay Ertaş
fuente
Puedo confirmar que reinstalar la biblioteca libgl1 ayudó. Ubuntu 14.04 x86-64, compiz de escritorio, controlador gráfico Nvidia para GEForce GTS 450.
hariprasad
A sudo aptitude install libgl1-mesa-glx:i386muestra que se eliminarán 305 paquetes y aproximadamente 100 quedarán sin resolver. Como parece que llenará mi sistema, sospecho que el mejor curso de acción es iniciar dual Ubuntu con 64 bibliotecas y una biblioteca de 32 bits, o mejor, un sistema primario para la mayoría de las cosas, una instalación de 64 bits para juegos y una instancia de 32 bits en Su propia partición para juegos de 32 bits.
Underverse

Respuestas:

11

Este problema en sistemas de 64-bits es causada por /usr/libser más temprano en el LD_LIBRARY_PATHque /usr/lib32. Steam prueba las bibliotecas de 64 bits y se queja, sin buscar más.

Sin embargo, se puede solucionar con in ~/Steam/steam.shpero ese archivo parece restaurarse a la versión original cada vez que se ejecuta steam.

Lo arreglé creando un script que hace esto:

#!/bin/bash
export LD_LIBRARY_PATH=/usr/lib32:$LD_LIBRARY_PATH
steam $*

Esto antecede /usr/lib32a la ruta de la biblioteca, luego comienza steam (con los argumentos originales del script). Ahora /usr/lib32se encuentra en la ruta anterior /usr/lib, y steam utilizará con éxito las bibliotecas de 32 bits.

Es posible que también desee agregar la línea

export LD_LIBRARY_PATH=/usr/lib32:$LD_LIBRARY_PATH

a /usr/bin/steam, tendrá el mismo efecto, siempre que lo agregue antes de la última línea. Tendrás que sudo para editar /usr/lib/steam.

  • Esto tiene la ventaja adicional de que es una solución mejor, ya que todo lo que comienza Steam (la entrada del menú de la aplicación, las asociaciones de tipo de archivo, las asociaciones de URI) funcionará correctamente.
  • La desventaja es que /usr/bin/steames probable que se sobrescriba cuando se actualice Steam.

Uso el último método, mientras mantengo el script como respaldo. De esa manera, si /usr/bin/steamse sobrescribe, simplemente puedo copiar pegar la línea nuevamente desde el script para corregirlo.

Terion
fuente
7

Se corrigió esto en raring ringtail (xubuntu 13.04) con los controladores nVidia 319.17 al agregar /usr/lib32a un nuevo archivo:

$ sudo nano /etc/ld.so.conf.d/lib32.conf

luego corriendo:

$ sudo ldconfig 

Como el archivo /etc/ld.so.confcontiene include /etc/ld.so.conf.d/*.conf, cualquier archivo en ese directorio con la extensión .confse analiza.

nuca
fuente
Esto es probablemente mejor que cualquiera de las otras respuestas.
Tek
2

Se corrigió esto para Mint 14 con los nuevos controladores Nvidia de 64 bits 310.32 con el soporte de controlador de 32 bits instalado en

/emul/ia32-linux/usr/lib 

añadiendo

export LD_LIBRARY_PATH=/emul/ia32-linux/usr/lib:$LD_LIBRARY_PATH 

Después de la primera "export"en el comienzo del /usr/bin/steamarchivo.

terrigan
fuente
No se sugiere usar "Mint" como base, ya que Mint no es un tema aquí, incluso si es un derivado de Ubuntu
Thomas Ward
2

Me encontré con el mismo problema, pero con Skype . Todas las soluciones anteriores (crear enlaces simbólicos, configurar LD_LIBRARY_PATH) no funcionaron para mí.

Finalmente encontré ayuda en la publicación ya mencionada anteriormente, pero con una solución diferente.

Parece que el actualizador de nvidia (cuando solicitó permiso para instalar bibliotecas de compatibilidad OpenGL de 32 bits) se estropeó y eliminó /usr/lib/i386-linux-gnu/mesa/libGL.so.1y /usr/lib/i386-linux-gnu/mesa/libGL.so.

Reinstalar la biblioteca libgl1 ayudó:

sudo apt-get install --reinstall libgl1-mesa-glx:i386

estudios b
fuente
1

Si está utilizando Steam para Linux beta limitada, lo publicaría en los foros de Steam para Linux . Deberían tener una mejor ayuda, y si se trata de un problema con el software en sí, los desarrolladores podrán solucionarlo. Además, si está utilizando un sistema operativo de 64 bits, hay muchas personas que probablemente han pasado por los problemas que tiene y, por lo tanto, saben exactamente qué hacer.

especia
fuente
0

Tuve exactamente el mismo problema en Linux Mint Debian Edition 2 de 64 bits.

Lo resolví reinstalando los controladores NVIDIA con las bibliotecas GL de 32 bits (después de instalar esas bibliotecas solicitadas por steam).

Supongo que instalar esas otras bibliotecas de gráficos de 32 bits rompió algunos enlaces, y reinstalar los controladores NVIDIA con esas bibliotecas reales de 32 bits soluciona el problema de los enlaces.

SHOTbyGUN
fuente
0

Tuve este problema con Skype. Lo arreglé instalando nuevamente el controlador oficial de Nvidia e instalé una biblioteca de compatibilidad de 32 bits durante la instalación.

Saeed Zarinfam
fuente