web-dev-qa-db-fra.com

Steam: erreur lors du chargement des bibliothèques partagées: libGL.so.1: classe ELF incorrecte: ELFCLASS64

Après l'installation du pilote Nvidia lorsque j'essaie d'exécuter Steam, le message d'erreur suivant s'affiche:

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

J'ai trouvé this question et l'une des réponses qui suggèrent d'installer:

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

J'ai déjà installé libgl1-mesa-glx:i386. Que j'ai trouvé this . Il suggère de créer un lien symbolique vers libGL 32 bits. Comment peut faire ça? Avez-vous d'autres suggestions?

10
Olcay Ertaş

Ce problème sur les systèmes 64 bits est dû au fait que /usr/lib est antérieur au LD_LIBRARY_PATH à /usr/lib32. Steam essaie les bibliothèques 64 bits et se plaint sans chercher plus loin.

Il peut être corrigé cependant dans ~/Steam/steam.sh mais ce fichier semble être restauré dans sa version d'origine à chaque exécution de Steam.

Je l'ai corrigé en créant un script qui fait ceci:

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

Cela ajoute /usr/lib32 au chemin de la bibliothèque, puis démarre Steam (avec les arguments d'origine du script). Désormais, /usr/lib32 se trouve dans le chemin précédant /usr/lib et Steam utilisera avec succès les bibliothèques 32 bits.

Vous voudrez peut-être aussi ajouter la ligne

export LD_LIBRARY_PATH=/usr/lib32:$LD_LIBRARY_PATH

sur /usr/bin/Steam, cela aura le même effet, tant que vous l'ajoutez avant la toute dernière ligne. Vous aurez besoin de Sudo pour éditer /usr/lib/Steam.

  • Cela a l'avantage supplémentaire que c'est une meilleure solution, car tout ce qui démarre Steam (l'entrée de menu de l'application, les associations de types de fichiers, les associations d'URI) fonctionnera correctement.
  • L'inconvénient est que /usr/bin/Steam est susceptible d'être écrasé lors de la mise à jour de Steam.

J'utilise cette dernière méthode, tout en conservant le script comme sauvegarde. Ainsi, si /usr/bin/Steam est écrasé, je peux simplement copier à nouveau la ligne du script pour la corriger.

11
Terion

Correction de ce problème dans ringtail (xubuntu 13.04) avec les pilotes nVidia 319.17 en ajoutant /usr/lib32 à un nouveau fichier:

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

puis en cours d'exécution:

$ Sudo ldconfig 

Étant donné que le fichier /etc/ld.so.conf contient include /etc/ld.so.conf.d/*.conf, tous les fichiers de ce répertoire portant l’extension .conf sont analysés.

7
scruff

De: https://github.com/ValveSoftware/Steam-for-linux/issues/321

J'ai eu le même problème et l'ai résolu en faisant ceci:

$ cd ~/.Steam/bin
$ ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 .

Cela a également fonctionné pour moi.

4
hansonap

Corrigé ceci pour Mint 14 avec les derniers pilotes Nvidia 64 bits 310.32 avec le support de pilote 32 bits installé dans

/emul/ia32-linux/usr/lib 

en ajoutant

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

Après le premier "export" au début du fichier /usr/bin/Steam.

2
terrigan

J'ai rencontré le même problème, mais avec skype . Toutes les solutions ci-dessus (création de liens symboliques, configuration de LD_LIBRARY_PATH) ne fonctionnaient pas pour moi.

J'ai finalement trouvé de l'aide dans le post déjà mentionné ci-dessus - mais avec une solution différente.

Il semble que le programme de mise à jour nvidia (lorsqu’il a demandé l’autorisation d’installer des bibliothèques de compatibilité OpenGL 32 bits) a gâché et a supprimé /usr/lib/i386-linux-gnu/mesa/libGL.so.1 et /usr/lib/i386-linux-gnu/mesa/libGL.so.

La réinstallation de la bibliothèque libgl1 a aidé:

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

2
b-studios

Si vous utilisez la version bêta limitée de Steam pour Linux, je l’afficherai sur les forums Steam pour Linux . Ils devraient avoir une meilleure aide, et si c'est un problème avec le logiciel lui-même, les développeurs seront en mesure de le résoudre. De plus, si vous utilisez un système d’exploitation 64 bits, de nombreuses personnes ont probablement traversé les difficultés que vous avez et savent donc exactement quoi faire.

1
Spice

J'ai eu exactement le même problème sous Linux Mint Debian Edition 2 64 bits.

Je l'ai résolu en réinstallant les pilotes NVIDIA avec les bibliothèques GL 32 bits (après l'installation de ces bibliothèques demandée par Steam).

Je suppose simplement que l'installation de ces autres bibliothèques graphiques 32 bits a rompu certains liens et que la réinstallation des pilotes NVIDIA avec ces bibliothèques réelles 32 bits corrige le problème des liens.

0
SHOTbyGUN

J'ai eu ce problème avec Skype. Je l'ai corrigé en réinstallant le pilote officiel Nvidia et en installant la bibliothèque de compatibilité 32 bits lors de l'installation.

0
Saeed Zarinfam