Bagaimana cara menginstal perpustakaan libSDL_image-1.2.so.0 yang diperlukan untuk menjalankan Dwarf Fortress?

16

Saya telah mengunduh Dwarf Fortress, dan saya yakin saya telah mengumpulkan semua file yang diperlukan. Namun, ketika saya mengklik file df, ia menanyakan beberapa hal, saya klik "Run," dan tidak ada yang terjadi. Game tidak terbuka sama sekali.

Saya menjalankan Ubuntu 12.04 dengan Gnome 3 di 64-bit. Jika saya bisa membuka permainan, saya yakin saya bisa mengatasi masalah lain yang mungkin terjadi.

Saya cukup baru di Ubuntu, dan saya belum pernah menggunakan Linux sejak 2009.

Kemungkinan besar ada beberapa file yang tidak saya ketahui.

Menjalankannya di 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 
Android yang ada
sumber
Cara terbaik untuk mendiagnosis masalah adalah menjalankannya di terminal. Alih-alih memilih "Jalankan", pilih "Jalankan di terminal" atau buka terminal, gunakan cduntuk mengubah ke direktori di mana dfdan jalankan ./df. Kemudian perbarui pertanyaan Anda dengan output yang Anda dapatkan.
Salem
nex @ ExistentialAndroid: ~ / Downloads / df_linux $ ./df ./libs/Dwarf_Fortress: kesalahan saat memuat pustaka bersama: libSDL_image-1.2.so.0: tidak dapat membuka file objek bersama: Tidak ada file atau direktori nex @ ExistentialAndroid: ~ / Unduhan / df_linux $ Satu-satunya masalah adalah saya tampaknya telah menginstal libSDL_image-1.2.so.0, setidaknya hal tentang Ubuntu Software Center memberitahu saya itu sudah diinstal.
Android Eksistensial

Jawaban:

16

Tampaknya permainan tidak dapat menemukan beberapa perpustakaan SDL. Menggunakan apt-filepaket yang saya dapatkan (pada 12.10) yang menyatakan bahwa perpustakaan adalah 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

Jadi Anda harus terlebih dahulu memverifikasi bahwa paket tersebut benar-benar diinstal. Jika ya maka program membutuhkan versi 32bit atau memang membutuhkan versi 64bit tetapi tidak dapat menemukannya.

Untuk menginstal versi 32 bit:

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

Jika ini masih tidak menyelesaikan masalah, Anda dapat mencoba menjalankan game menggunakan LD_DEBUG=libs ./df. Ini akan menampilkan banyak info yang dapat membantu mendeteksi mengapa ia tidak dapat menemukan lib itu. Juga, lihat README.linuxfile di folder Dwarf Fortress dan periksa apakah semua persyaratan terpenuhi.

Salem
sumber
1
Saya melakukan seperti yang Anda sarankan, mendapat kesalahan lain, jadi saya melakukan hal yang hampir sama tetapi menemukan cara menginstal apa yang diminta, dan saya menemukan ini: libglu1-mesa, tetapi itu tidak berhasil jadi saya mencoba ia32-libs. Itu menginstal banyak hal, tetapi sekarang DF berfungsi. Terima kasih.
Android Eksistensial
Jawaban ini juga berfungsi untuk game Onlink (yang membutuhkan versi 32bit)
Kyborek
15

Pada bit Ubuntu saya, saya punya 3 paket untuk diinstal dalam 32bits untuk 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

Selain ketiga di atas, setidaknya di ubuntu 14.04, Anda memerlukan yang ini:

sudo apt-get install libglu1-mesa:i386
Tonioooooo
sumber
menjalankan DF di ubuntu 16.04 juga membutuhkan pemasangan keempat ini.
7yl4r
6

Tidak ada yang ada yang berfungsi untuk saya di Ubuntu 16.04, tetapi ini berhasil:

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

Sumber

Nick Zinger
sumber
Saya juga membutuhkan ini pada 16,04, untuk memperbaiki kesalahan asli. Tapi saya punya kesalahan baru untuk libGLU.so.1lib.
Kenny Evitt
Ini semua yang saya butuhkan untuk menjalankan DF di Ubuntu 17.10
shmup
Dapat mengkonfirmasi bahwa ini bersama dengan jawaban Tonioooo mengarah ke instalasi DF yang berfungsi pada 18.04
JDL
Mencoba beberapa jawaban lain, tetapi ini adalah satu-satunya yang bekerja untuk saya.
Hatefiend
1

Saya juga butuh ini pada kotak 16.04:

sudo apt-get install libglu1-mesa

Jadi, semuanya:

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
Kenny Evitt
sumber