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.