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?


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


27

Cela a fonctionné pour moi:

sudo apt-get install libsdl1.2debian:i386


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.


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

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.