Como instalo a biblioteca libSDL_image-1.2.so.0 necessária para executar o Dwarf Fortress?

16

Fiz o download do Dwarf Fortress e acredito ter coletado todos os arquivos necessários. No entanto, quando clico no arquivo df, ele me pergunta algumas coisas, clico em "Executar" e nada acontece. O jogo simplesmente não abre.

Estou executando o Ubuntu 12.04 com Gnome 3 em 64 bits. Se eu conseguir abrir o jogo, tenho certeza de que posso lidar com outros problemas que possam ocorrer.

Eu sou bastante novo no Ubuntu e não uso o Linux desde 2009.

Provavelmente existem alguns arquivos que eu não conheço.

Executando-o no 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 existente
fonte
A melhor maneira de diagnosticar o problema é executá-lo em um terminal. Em vez de escolher "Executar", escolha "Executar no terminal" ou abra um terminal, use cdpara mudar para o diretório onde dfestá e execute ./df. Em seguida, atualize sua pergunta com a saída obtida.
Salem
nex @ ExistentialAndroid: ~ / Downloads / df_linux $ ./df ./libs/Dwarf_Fortress: erro ao carregar bibliotecas compartilhadas: libSDL_image-1.2.so.0: não é possível abrir o arquivo de objeto compartilhado: Não existe esse arquivo ou diretório nex @ ExistentialAndroid: ~ / Downloads / df_linux $ O único problema é que aparentemente tenho o libSDL_image-1.2.so.0 instalado, pelo menos a coisa do Ubuntu Software Center diz que está instalado.
Existential Android

Respostas:

16

Parece que o jogo não consegue encontrar algumas bibliotecas SDL. Usando apt-fileo pacote que recebo (em 12.10) que fornece que as bibliotecas são 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

Portanto, você deve primeiro verificar se o pacote está realmente instalado. Se for, o programa precisa da versão de 32 bits ou de fato precisa da versão de 64 bits, mas não a encontra.

Para instalar a versão de 32 bits:

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

Se isso ainda não resolver o problema, você pode tentar executar o jogo usando LD_DEBUG=libs ./df. Isso produzirá muitas informações que podem ajudar a detectar por que ela não encontra essa biblioteca. Além disso, consulte o README.linuxarquivo na pasta Dwarf Fortress e verifique se todos os requisitos foram atendidos.

Salem
fonte
11
Fiz o que você sugeriu, obtive outro erro, então fiz praticamente a mesma coisa, mas descobri como instalar o que era solicitado e descobri o seguinte: libglu1-mesa, mas como não funcionou, tentei o ia32-libs. Isso instalou muitas coisas, mas agora o DF funciona. Obrigado.
Existential Android
Essa resposta também trabalhou para o jogo Onlink (que precisava da versão de 32 bits)
Kyborek
15

Nos meus bits do Ubuntu, eu tinha 3 pacotes para instalar em 32bits para o 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

Além dos três acima, pelo menos no ubuntu 14.04, você precisa deste:

sudo apt-get install libglu1-mesa:i386
Tonioooooo
fonte
executar o DF no ubuntu 16.04 também requer a instalação desses quatro.
7yl4r
6

Nenhum dos existentes funcionou para mim no Ubuntu 16.04, mas isso aconteceu:

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

Fonte

Nick Zinger
fonte
Eu também precisava disso no 16.04, para corrigir o erro original. Mas eu tenho um novo erro para uma libGLU.so.1lib.
precisa saber é o seguinte
Isso é tudo o que eu precisava para executar o DF no Ubuntu 17.10
shmup 04/04
Pode confirmar que esta, juntamente com a resposta vantagem do Tonioooo a uma instalação DF funcionando em 18.04
JDL
Tentei várias outras respostas, mas esta é a única que funcionou para mim.
Hatefiend
1

Eu também precisava disso em uma caixa 16.04:

sudo apt-get install libglu1-mesa

Então, 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
Kenny Evitt
fonte