error al cargar bibliotecas compartidas libSDL-1.2.so.0

18

Estoy tratando de instalar ioquake en mi servidor ubuntu.

Cuando intento ejecutarlo, recibo este mensaje:

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

Pensé que tenía todo funcionando bien, aquí es donde está el 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

Y mi camino

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

¿Qué estoy haciendo mal?

ErocM
fuente
3
Creo que este es un mensaje de libSDL en lugar de sobre libSDL. Ejecutar strace ./ioquake.x86_64. Esto mostrará todas las llamadas al sistema (lleva más tiempo ejecutarlo). Mostrará qué intento de abrir qué archivo fallará.
Enero
Instalé trace. Cuando lo ejecuto directamente, obtengo la ayuda. Cuando ejecuto strace ./ioquake.x86_64 como usted sugirió, obtengo el comando no encontrado. Me
duele la
Instalé strace *
ErocM
De las preguntas frecuentes de OpenArena , este mensaje aparece cuando libSDL no está instalado, por lo que no creo que provenga de él. No es la mejor idea, pero solo para estar seguro, ¿ha intentado cambiar el nombre de libSDL-1.2.so.0.11.4 a libSDL-1.2.so.0?
NorTicUs
incluso si el primero funcionó para usted: marque el segundo (23 votos a favor) como respuesta, ya que en realidad es adecuado para el 99% de las personas.
tatsu

Respuestas:

10

Pruebe lo siguiente en la terminal:

sudo apt-get update

seguido por

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

Publique cualquier mensaje de error que pueda ver

Anónimo
fuente
27

Esto funcionó para mí:

sudo apt-get install libsdl1.2debian:i386

Joril
fuente
1
esta es la mejor respuesta, esto debe marcarse como respuesta.
tatsu
2

Sé que esto lleva un año de retraso. Pero esto debería solucionarlo:

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

El problema es que está ejecutando un programa compilado para una arquitectura de 32 bits con bibliotecas de 64 bits.

Douther
fuente
44
Alternativamentesudo apt-get install libsdl1.2debian:i386
Joril
1
@Joril Creo que tu comentario debería ser una respuesta en sí misma
Alter Lagos
1
sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev
jagadeesh
fuente
3
¿Puede incluir alguna explicación sobre cuál es el problema y cómo lo resolvería ejecutar el comando anterior?
Mostafa Ahangarha
en realidad, las aplicaciones de usuario usan el orden de la biblioteca anterior para volcar texto o imágenes en la ventana SDL
jagadeesh
Me refiero a incluir una explicación en la respuesta. Sin embargo, creo que esta explicación no es suficiente.
Mostafa Ahangarha