erreur lors du chargement des bibliothèques partagées libSDL-1.2.so.0

18

J'essaie d'installer ioquake sur mon serveur Ubuntu.

Lorsque j'essaye de l'exécuter, je reçois ce message:

# ./ioquake3
./ioquake3.x86_64: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory

Je pensais que tout fonctionnait bien, voici où se trouve le libSDL:

# cd /usr/lib64
# /usr/lib64# ls -l
total 2308
lrwxrwxrwx 1 root root      15 Oct 15 00:25 libSDL-1.1.so.0 -> libSDL-1.2.so.0
lrwxrwxrwx 1 root root      20 Oct 15 00:25 libSDL-1.2.so.0 -> libSDL-1.2.so.0.11.4
-rwxr-xr-x 1 root root 2358903 Jan 19  2012 libSDL-1.2.so.0.11.4

Et mon chemin:

# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib64

Qu'est-ce que je fais mal?

ErocM
la source
3
Je pense que c'est un message de libSDL plutôt que de libSDL. Courez strace ./ioquake.x86_64. Cela affichera tous les appels système (l'exécution prend beaucoup plus de temps). Il montrera quelle tentative d'ouverture quel fichier échouera.
Janvier
J'ai installé trace. Quand je le lance directement, je reçois de l'aide. Lorsque j'exécute strace ./ioquake.x86_64 comme vous l'avez suggéré, j'obtiens une commande introuvable. J'ai mal à la tête :(
ErocM
J'ai installé strace *
ErocM
Dans la FAQ OpenArena , ce message apparaît lorsque libSDL n'est pas installé, donc je ne pense pas qu'il en soit issu . Pas la meilleure idée, mais juste pour être sûr, avez-vous essayé de renommer libSDL-1.2.so.0.11.4 en libSDL-1.2.so.0?
NorTicUs
même si le premier a fonctionné pour vous: veuillez indiquer le deuxième (23 votes positifs) comme réponse, car il convient en fait à 99% des personnes.
tatsu

Réponses:

10

Essayez ce qui suit dans le terminal:

sudo apt-get update

suivi par

sudo apt-get install --reinstall libsdl1.2debian

Postez tous les messages d'erreur que vous pourriez voir

Anonyme
la source
27

Cela a fonctionné pour moi:

sudo apt-get install libsdl1.2debian:i386

Joril
la source
1
c'est la meilleure réponse, cela devrait être marqué comme réponse.
tatsu
2

Je sais que c'est un an de retard. Mais cela devrait le réparer:

dpkg --add-architecture i386
sudo apt-get install libsdl1.2debian

Le problème est que vous exécutez un programme compilé pour une architecture 32 bits avec des bibliothèques 64 bits.

Douther
la source
4
Alternativementsudo apt-get install libsdl1.2debian:i386
Joril
1
@Joril Je pense que votre commentaire devrait être une réponse en tant que telle
Alter Lagos
1
sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev
jagadeesh
la source
3
Pouvez-vous inclure des explications sur le problème et comment l'exécution de la commande ci-dessus pourrait le résoudre?
Mostafa Ahangarha
en fait, les applications utilisateur utilisent la bibliothèque ci-dessus pour transférer du texte ou des images dans la fenêtre SDL
jagadeesh
Je veux dire inclure une explication dans la réponse. Pourtant, je pense que cette explication n'est pas suffisante.
Mostafa Ahangarha