50 votes

Erreur de chargement de libGL.so.1

En essayant d'exécuter divers logiciels (notamment Steam et Yenka), j'ai rencontré une erreur similaire à celle-ci : error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

J'utilise un système 64 bits, avec une carte NVidia Optimus (je fais du dual boot pour certains logiciels Windows qui nécessitent une carte graphique dédiée). J'ai installé Bumblebee et j'utilise le pilote nvidia-current, plutôt que celui téléchargé depuis NVidia, comme recommandé.

La bibliothèque (libGL.so.1) n'est pas présente dans le répertoire principal de /usr/lib Toutefois, il est présent dans /usr/lib32/nvidia-current en tant que softlink vers /usr/lib32/nvidia-current/libGL.so.304.64 .

Une section de la sortie de ldconfig -p :

libGL.so.1 (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
libGL.so (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/libGL.so
libGL.so (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/mesa/libGL.so

Il est évident qu'une bibliothèque portant ce nom est en train d'être chargée, mais elle se trouve dans le répertoire /usr/lib/x86_64-linux-gnu Cependant, les logiciels installés ne semblent pas pouvoir le "voir". Pour Steam, le lancer avec optirun le fait fonctionner, mais ce n'est pas le cas pour Yenka. Je suppose qu'optirun fait que la bibliothèque stockée dans /usr/lib32/nvidia-current est utilisé, ce qui permet à Steam de fonctionner, donc je ne comprends pas pourquoi Yenka ne fonctionne pas.

Quelqu'un peut-il expliquer pourquoi le logiciel ne peut pas voir la bibliothèque tabla normale, et pourquoi Yenka refuse de fonctionner avec la bibliothèque nvidia-current ?

52voto

Qasim Points 21792

J'ai le même problème après avoir installé skype ...vous pouvez donc faire l'une ou l'autre chose pour résoudre cette erreur...

La première consiste à lancer l'application à l'aide de la commande suivante ...par exemple, je lance skype....

LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1 skype

S O U R C E

2eme c'est ce que j'ai fait

sudo nano /etc/ld.so.conf.d/skype.conf

et y ajouter la ligne suivante

/usr/lib/i386-linux-gnu/mesa/

sauvegarder et quitter

et enfin exécuter

sudo ldconfig -v

J'espère que cela résoudra votre problème. libGL.so.1 comme la mienne

Vous pouvez également trouver libGL.so.1

   find / -name libGL.so.1

39voto

eurythmia Points 506

Avec les pilotes nvidia installés, skype recherche une librairie i386 fournie par le paquet nvidia. Comme elle n'existe pas, il est possible d'utiliser la librairie i386 libGL.so.1 fournie par tabla.

Testé sur (ubuntu-gnome raring, utilisant nvidia-325) et (ubuntu-gnome saucy, utilisant nvidia-319) nous avons pu résoudre ce problème de la manière suivante :

update-alternatives --display i386-linux-gnu_gl_conf

Vous verrez alors quelles sont les options disponibles.

i386-linux-gnu_gl_conf - auto mode
  link currently points to /usr/lib/nvidia-325/alt_ld.so.conf
/usr/lib/i386-linux-gnu/mesa/ld.so.conf - priority 500
  slave i386-linux-gnu_xorg_extra_modules: /usr/lib/i386-linux-gnu/xorg/x11-extra-modules
/usr/lib/nvidia-325/alt_ld.so.conf - priority 8602
Current 'best' version is '/usr/lib/nvidia-325/alt_ld.so.conf'

Dans ce cas, procédez comme suit :

sudo update-alternatives --config i386-linux-gnu_gl_conf

puis sélectionnez la meilleure alternative (j'ai choisi i386-linux-gnu/tabla/ld.so.conf) : Dans la sortie ci-dessous, il y a deux choix pour l'alternative i386-linux-gnu_gl_conf (fournissant /etc/ld.so.conf.d/i386-linux-gnu_GL.conf).

  Selection    Path                                     Priority   Status
------------------------------------------------------------
* 0            /usr/lib/nvidia-325/alt_ld.so.conf        8602      auto mode
  1            /usr/lib/i386-linux-gnu/mesa/ld.so.conf   500       manual mode
  2            /usr/lib/nvidia-325/alt_ld.so.conf        8602      manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/lib/i386-linux-gnu/mesa/ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode

Une fois que vous avez terminé, essayez de courir :

sudo ldconfig

et vous avez terminé.

12voto

Jon Hanna Points 738

Les solutions proposées ici fonctionneront, mais il en existe une plus simple.

Si skype ne fonctionne pas mais optirun skype ne fonctionne pas, vous pouvez alors le réparer avec :

sudo apt-get install bumblebee-nvidia --reinstall

(Les personnes utilisant Bumblebee avec des cartes AMD devront peut-être procéder à une réinstallation équivalente).

Bumblebee cause et corrige ce problème, mais la correction qu'il applique se produit lors de l'installation, lorsqu'il met les bibliothèques libGL à la disposition de la carte intégrée ainsi que de la carte plus puissante. Cela ne se produira pas si ces bibliothèques n'étaient pas déjà installées lorsque vous avez installé Bumblebee, d'où la nécessité d'une réinstallation. Cela ne devrait pas non plus affecter la configuration de Bumblebee, bien qu'il vaille la peine de vérifier après avoir effectué cette opération.

3voto

hazmat Points 181

Modifiez l'entrée du bureau :

sudo nano /usr/share/applications/skype.desktop

Modifier l'Exécution en :

Exec=env PULSE_LATENCY_MSEC=60 LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1 skype %U

Cela fonctionne :

LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1

avant de lancer skype lorsque vous le démarrez avec le lanceur / l'entrée du bureau.

Il devrait ensuite fonctionner correctement si vous le démarrez à l'aide du lanceur d'applications.

1voto

Je ne sais pas si cela va aider à clarifier ou non mais j'ai eu le même problème avec skype et libGL.so.1. Je tourne aussi en 13.04 avec une carte optimus et bumblebee.

J'ai eu ce problème en utilisant skype sans optirun, mais cela a bien fonctionné avec. J'ai simplement modifié le fichier du bureau pour qu'il s'exécute à chaque fois avec optirun et voilà, c'est réglé !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X