Come posso installare la libreria libSDL_image-1.2.so.0 richiesta per eseguire Dwarf Fortress?


16

Ho scaricato Dwarf Fortress e credo di aver raccolto tutti i file richiesti. Tuttavia, quando faccio clic sul file df, mi chiede alcune cose, faccio clic su "Esegui" e non succede nulla. Il gioco non si apre affatto.

Sto eseguendo Ubuntu 12.04 con Gnome 3 su 64 bit. Se riuscissi ad aprire il gioco, sono sicuro di poter affrontare gli altri problemi che potrebbero verificarsi.

Sono abbastanza nuovo su Ubuntu e non uso Linux dal 2009.

Molto probabilmente ci sono alcuni file che non conosco.

Eseguendolo nel terminale:

$ ./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 

Il modo migliore per diagnosticare il problema è eseguirlo su un terminale. Invece di scegliere "Esegui" selezionare "Esegui nel terminale" o aprire un terminale, utilizzare cdper passare alla directory in cui si dftrova ed eseguire ./df. Quindi aggiorna la tua domanda con l'output che ottieni.
Salem,

nex @ ExistentialAndroid: ~ / Downloads / df_linux $ ./df ./libs/Dwarf_Fortress: errore durante il caricamento delle librerie condivise: libSDL_image-1.2.so.0: impossibile aprire il file oggetto condiviso: nessun file o directory nex @ ExistentialAndroid: ~ / Download / df_linux $ L'unico problema è che apparentemente ho installato libSDL_image-1.2.so.0, almeno la cosa di Ubuntu Software Center mi dice che è installato.
Android esistenziale

Risposte:


16

Sembra che il gioco non riesca a trovare alcune librerie SDL. Usando apt-fileil pacchetto che ottengo (il 12.10) che fornisce che le librerie sono 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

Quindi dovresti prima verificare che il pacchetto sia davvero installato. Se lo è, allora il programma ha bisogno della versione a 32 bit o ha davvero bisogno della versione a 64 bit ma non riesce a trovarla.

Per installare la versione a 32 bit:

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

Se il problema persiste, puoi provare a eseguire il gioco usando LD_DEBUG=libs ./df. Questo produrrà molte informazioni che potrebbero aiutare a scoprire perché non riesce a trovare quella lib. Inoltre, dai un'occhiata al README.linuxfile nella cartella Dwarf Fortress e controlla se tutti i requisiti sono soddisfatti.


1
Ho fatto come mi hai suggerito, ho avuto un altro errore, quindi ho fatto praticamente la stessa cosa ma ho scoperto come installare ciò che mi chiedeva, e ho trovato questo: libglu1-mesa, ma non ha funzionato, quindi ho provato ia32-libs. Ciò ha installato molte cose, ma ora DF funziona. Grazie.
Android esistenziale

Questa risposta ha funzionato anche per il gioco Onlink (che aveva bisogno della versione a 32 bit)
Kyborek,

15

Sui miei bit Ubuntu, avevo 3 pacchetti da installare a 32 bit per 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

Oltre ai tre precedenti, almeno su Ubuntu 14.04, è necessario questo:

sudo apt-get install libglu1-mesa:i386

l'esecuzione di DF su Ubuntu 16.04 richiede anche l'installazione di questi quattro.
7yl4r,

6

Nessuno degli esistenti ha funzionato per me su Ubuntu 16.04, ma questo ha fatto:

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

fonte


Ne avevo anche bisogno il 16.04, per correggere l'errore originale. Ma ho un nuovo errore per una libGLU.so.1lib.
Kenny Evitt,

Questi sono tutto ciò di cui avevo bisogno per eseguire DF su Ubuntu 17.10
shmup

Posso confermare che questo, insieme alla risposta di Tonioooo, porta a un'installazione DF funzionante il 18.04
JDL,

Ho provato molte altre risposte, ma questa è l'unica che ha funzionato per me.
Hatefiend il

1

Ne avevo anche bisogno su un box 16.04:

sudo apt-get install libglu1-mesa

Quindi, tutti insieme:

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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.