Jak zainstalować bibliotekę libSDL_image-1.2.so.0 wymaganą do uruchomienia Dwarf Fortress?


16

Pobrałem Dwarf Fortress i wydaje mi się, że zebrałem wszystkie wymagane pliki. Jednak po kliknięciu pliku df pojawia się pytanie, klikam „Uruchom” i nic się nie dzieje. Gra po prostu się w ogóle nie otwiera.

Używam Ubuntu 12.04 z Gnome 3 na 64-bitach. Jeśli uda mi się otworzyć grę, jestem pewien, że poradzę sobie z innymi problemami, które mogą wystąpić.

Jestem dość nowy w Ubuntu i nie korzystam z Linuksa od 2009 roku.

Najprawdopodobniej są pliki, o których nie wiem.

Uruchamianie w terminalu:

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

Najlepszym sposobem na zdiagnozowanie problemu jest uruchomienie go na terminalu. Zamiast wybierać „Uruchom” wybierz „Uruchom w terminalu” lub otwórz terminal, użyj, cdaby przejść do katalogu, w którym się dfznajduje i uruchom ./df. Następnie zaktualizuj swoje pytanie otrzymanymi danymi wyjściowymi.
— Salem,

nex @ ExistentialAndroid: ~ / Downloads / df_linux $ ./df ./libs/Dwarf_Fortress: błąd podczas ładowania bibliotek współdzielonych: libSDL_image-1.2.so.0: nie można otworzyć pliku obiektu współdzielonego: brak takiego pliku lub katalogu nex @ ExistentialAndroid: ~ / Pobieranie / df_linux $ Jedynym problemem jest to, że najwyraźniej mam zainstalowaną bibliotekę libSDL_image-1.2.so.0, przynajmniej Centrum Oprogramowania Ubuntu mówi mi, że jest zainstalowane.
— egzystencjalny Android

Odpowiedzi:


16

Wygląda na to, że gra nie może znaleźć bibliotek SDL. Korzystając apt-filez pakietu, który otrzymuję (12.10), który zapewnia, że ​​biblioteki to 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

Dlatego najpierw powinieneś sprawdzić, czy pakiet jest naprawdę zainstalowany. Jeśli tak, to albo program potrzebuje wersji 32-bitowej, albo rzeczywiście potrzebuje wersji 64-bitowej, ale nie może jej znaleźć.

Aby zainstalować wersję 32-bitową:

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

Jeśli to nadal nie rozwiąże problemu, możesz spróbować uruchomić grę LD_DEBUG=libs ./df. Spowoduje to wyświetlenie wielu informacji, które mogą pomóc wykryć, dlaczego nie może znaleźć tej biblioteki. Zobacz również README.linuxplik w folderze Dwarf Fortress i sprawdź, czy wszystkie wymagania są spełnione.


1
Zrobiłem tak, jak sugerowałeś, dostałem kolejny błąd, więc zrobiłem prawie to samo, ale dowiedziałem się, jak zainstalować to, o co prosiłem, i znalazłem to: libglu1-mesa, ale to nie zadziałało, więc wypróbowałem ia32-libs. To zainstalowało wiele rzeczy, ale teraz DF działa. Dzięki.
— egzystencjalny Android

Ta odpowiedź działała także w przypadku gry Onlink (która wymagała wersji 32-bitowej)
— Kyborek

15

Na moich bitach Ubuntu miałem 3 pakiety do zainstalowania w 32 bitach dla 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

Oprócz powyższych trzech, przynajmniej na Ubuntu 14.04, potrzebujesz tego:

sudo apt-get install libglu1-mesa:i386

Uruchamianie DF na Ubuntu 16.04 również wymaga instalacji tych czterech.
— 7yl4r,

6

Żadne z istniejących nie działało dla mnie na Ubuntu 16.04, ale tak się stało:

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

Źródło


Ja również potrzebne to na 16.04, aby naprawić oryginalny błąd. Ale mam nowy błąd dla libGLU.so.1lib.
— Kenny Evitt,

To wszystko, czego potrzebowałem, aby uruchomić DF na Ubuntu 17.10
— shmup

Potwierdza, że ​​to wraz z odpowiedzią Tonioooo prowadzi do
— sprawnej

Próbowałem wielu innych odpowiedzi, ale to jedyna, która zadziałała dla mnie.
— Hatefiend

1

Ja również potrzebne to na pudełku 16.04:

sudo apt-get install libglu1-mesa

Wszystko razem:

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.