Erreur lors du chargement des bibliothèques partagées: libopenal.so.1 (jeu 'pacapong' dans Ubuntu 14.10)

11

J'ai téléchargé le jeu pacapong pour Linux et j'ai essayé d'exécuter l'exécutable, ce qui entraîne l'erreur:

$ ./runner 

./runner: error while loading shared libraries: libopenal.so.1: 
cannot open shared object file: No such file or directory

Évidemment, il y a la nécessité de charger libopenal.so.1:

$ objdump -p ./runner |grep libopenal.so.1

NEEDED libopenal.so.1

Il y a du libopenal.so.1mensonge /usr/lib/x86_64-linux-gnuet je peux faire:

$ ldd libopenal.so.1
linux-vdso.so.1 =>  (0x00007fffcdbbb000)

...

Je ne lancerai pas cet exécutable (./runner) en tant que root (juste au cas où ce problème pourrait être lié à des droits insuffisants, ce que je ne suppose pas).

Alors, que pourrais-je essayer d'autre?

de facto
la source

Réponses:

12

L'erreur est due au fait qu'il s'agit d'un jeu 32 bits que vous essayez d'exécuter sous Linux 64 bits. J'ai travaillé sur les erreurs en recherchant les messages d'erreur sur Google pour déterminer quels paquets me manquaient. J'ai fini par installer les packages suivants pour lancer le jeu:

sudo apt-get install libxxf86vm1:i386 libglu1-mesa:i386 libopenal1:i386 libssl1.0.0:i386
BennyMcBenBen
la source
Pourriez-vous s'il vous plaît expliquer en quoi consiste l'installation de ces packages et comment cela résout les problèmes?
Michael Lindman
Merci pour votre réponse, cela résout le problème. Là vous pensez tout savoir sur le système, eh bien et en fait vous le savez, mais vous n'y pensez pas ...;)
de facto
Ce. GOG regroupe des jeux liés à Linux 32 bits (ugggh, pourquoi) donc si vous avez une machine 64 bits, vous devez avoir les deux bibliothèques OpenGL / etc pour les versions 64 bits et 32 ​​bits. C'est très déroutant car cela vous indique qu'il vous manque des bibliothèques que vous savez avoir.
Katastic Voyage
0

Pour l'avenir, exécuter ldd sur ./runner vous indiquera les bibliothèques dont il a besoin, si elles sont manquantes ET si elles sont i386 ou 64 bits.

$ ldd sur ./runner

/ Undertale / jeu $ ldd ./runner

linux-gate.so.1 (0xf7798000)

libgtk3-nocsd.so.0 => /usr/lib/i386-linux-gnu/libgtk3-nocsd.so.0 (0xf7759000)

libstdc ++. so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf75d3000)

...

libXrandr.so.2 => introuvable

libbsd.so.0 => /lib/i386-linux-gnu/libbsd.so.0 (0xf6b41000)

libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf6b3d000)

libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf6b36000)

Remarque: il me manque encore xrandr pour i386. Donc ça ne marchera pas encore.

$ ./runner

./runner: erreur lors du chargement des bibliothèques partagées:> libXrandr.so.2: impossible d'ouvrir le fichier d'objet partagé: aucun fichier ou répertoire de ce type

Katastic Voyage
la source