¿Cómo instalo la biblioteca libSDL_image-1.2.so.0 requerida para ejecutar Dwarf Fortress?


16

He descargado Dwarf Fortress y creo que he recopilado todos los archivos necesarios. Sin embargo, cuando hago clic en el archivo df, me pregunta algunas cosas, hago clic en "Ejecutar" y no sucede nada. El juego simplemente no se abre en absoluto.

Estoy ejecutando Ubuntu 12.04 con Gnome 3 en 64 bits. Si pudiera abrir el juego, estoy seguro de que podría resolver los otros problemas que puedan surgir.

Soy bastante nuevo en Ubuntu y no he usado Linux desde 2009.

Lo más probable es que haya algunos archivos que no conozco.

Ejecutándolo en la terminal:

$ ./df
./libs/Dwarf_Fortress: error while loading shared libraries: libSDL_image-1.2.so.0:
    cannot open shared object file: No such file or directory 

La mejor manera de diagnosticar el problema es ejecutarlo en un terminal. En lugar de elegir "Ejecutar", elija "Ejecutar en terminal" o abrir un terminal, use cdpara cambiar al directorio donde dfestá y ejecutar ./df. Luego actualice su pregunta con la salida que obtenga.
— Salem

nex @ ExistentialAndroid: ~ / Downloads / df_linux $ ./df ./libs/Dwarf_Fortress: error al cargar bibliotecas compartidas: libSDL_image-1.2.so.0: no se puede abrir el archivo de objeto compartido: No existe dicho archivo o directorio nex @ ExistentialAndroid: ~ / Downloads / df_linux $ El único problema es que aparentemente tengo libSDL_image-1.2.so.0 instalado, al menos lo del Centro de software de Ubuntu me dice que está instalado.
— Android existencial

Respuestas:


16

Parece que el juego no puede encontrar algunas bibliotecas SDL. Usando apt-fileel paquete que obtengo (en 12.10) que proporciona que las bibliotecas es libsdl-image1.2:

➜  apt-file search  libSDL_image-1.2.so.0
libsdl-image1.2: /usr/lib/x86_64-linux-gnu/libSDL_image-1.2.so.0
libsdl-image1.2: /usr/lib/x86_64-linux-gnu/libSDL_image-1.2.so.0.8.4

Por lo tanto, primero debe verificar que el paquete esté realmente instalado. Si es así, o bien el programa necesita la versión de 32 bits o, de hecho, necesita la versión de 64 bits, pero no puede encontrarla.

Para instalar la versión de 32 bits:

sudo apt-get install libsdl-image1.2:i386

Si esto aún no resuelve el problema, puedes intentar ejecutar el juego usando LD_DEBUG=libs ./df. Esto generará mucha información que podría ayudar a detectar por qué no puede encontrar esa biblioteca. Además, eche un vistazo al README.linuxarchivo en la carpeta Dwarf Fortress y verifique si se cumplen todos los requisitos.


1
Hice lo que sugirió, obtuve otro error, así que hice casi lo mismo, pero descubrí cómo instalar lo que pedía, y encontré esto: libglu1-mesa, pero eso no funcionó, así que probé ia32-libs. Eso instaló muchas cosas, pero ahora DF funciona. Gracias.
— Android existencial

Esta respuesta también funcionó para el juego Onlink (que necesitaba la versión de 32 bits)
— Kyborek

15

En mis bits de Ubuntu, tenía que instalar 3 paquetes en 32 bits para DwarfFortress:

sudo apt-get install libsdl-image1.2:i386
sudo apt-get install libgtk2.0-0:i386
sudo apt-get install libsdl-ttf2.0-0:i386

Además de los tres anteriores, al menos en ubuntu 14.04, necesita este:

sudo apt-get install libglu1-mesa:i386

ejecutar DF ​​en ubuntu 16.04 también requiere la instalación de estos cuatro.
— 7yl4r

6

Ninguno de los existentes funcionó para mí en Ubuntu 16.04, pero esto sí:

sudo apt-get install libsdl1.2debian libsdl-image1.2 libsdl-ttf2.0-0

Fuente


Yo también necesitaba esto en 16.04, para corregir el error original. Pero tengo un nuevo error para una libGLU.so.1lib.
— Kenny Evitt

Esto es todo lo que necesitaba para ejecutar DF ​​en Ubuntu 17.10
— shmup

Puedo confirmar que esto, junto con la respuesta de Tonioooo, condujo a una instalación de DF en funcionamiento el 18.04
— JDL

Intenté muchas otras respuestas, pero esta es la única que funcionó para mí.
— Hatefiend

1

Yo también necesitaba esto en un cuadro 16.04:

sudo apt-get install libglu1-mesa

Entonces, todos juntos:

sudo dpkg --add-architecture i386
sudo apt-get update

sudo apt-get install libsdl-image1.2:i386 \
                     libsdl-ttf2.0-0:i386 \
                     libgtk2.0-0:i386 \
                     libglu1-mesa:i386 \
                     openssl:i386

sudo apt-get install libsdl1.2debian

sudo apt-get install libsdl1.2debian \
                     libsdl-image1.2 \
                     libsdl-ttf2.0-0

sudo apt-get install libglu1-mesa
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.