Erro ao carregar bibliotecas compartilhadas: libopenal.so.1 (Jogo 'pacapong' no Ubuntu 14.10)


11

Eu baixei o jogo pacapong para Linux e tentei executar o executável, o que resulta no erro:

$ ./runner 

./runner: error while loading shared libraries: libopenal.so.1: 
cannot open shared object file: No such file or directory

Obviamente, há a necessidade de carregar libopenal.so.1:

$ objdump -p ./runner |grep libopenal.so.1

NEEDED libopenal.so.1

Está libopenal.so.1mentindo /usr/lib/x86_64-linux-gnue eu posso fazer:

$ ldd libopenal.so.1
linux-vdso.so.1 =>  (0x00007fffcdbbb000)

...

Não executarei este executável (./runner) como root (apenas no caso de esse problema estar relacionado a direitos insuficientes, o que não estou assumindo).

Então, o que eu poderia tentar mais?

Respostas:


12

O erro ocorre porque este é um jogo de 32 bits que você está tentando executar no Linux de 64 bits. Eu trabalhei com os erros pesquisando mensagens de erro no Google para descobrir quais pacotes estavam faltando. Acabei instalando os seguintes pacotes para executar o jogo:

sudo apt-get install libxxf86vm1:i386 libglu1-mesa:i386 libopenal1:i386 libssl1.0.0:i386

Você poderia explicar o que a instalação desses pacotes faz e como resolve os problemas?
Michael Lindman

Obrigado pela sua resposta, resolve o problema. Lá você acha que sabe tudo sobre o sistema, bem e na verdade você sabe sobre ele, mas você não pensar sobre isso ...;)
de fato

Este. O GOG agrupa jogos vinculados ao Linux de 32 bits (ugggh, por que); portanto, se você possui uma máquina de 64 bits, precisa ter AMBAS as bibliotecas OpenGL / etc para versões de 64 e 32 bits. É muito confuso, porque indica que você está perdendo as bibliotecas que você sabe que possui.
Katastic Voyage

0

Para o futuro, a execução do ldd no ./runner informará as bibliotecas necessárias, se estiverem ausentes, e se são i386 ou 64 bits.

$ ldd on ./runner

/ undertale / game $ ldd ./runner

linux-gate.so.1 (0xf7798000)

libgtk3-nocsd.so.0 => /usr/lib/i386-linux-gnu/libgtk3-nocsd.so.0 (0xf7759000)

libstdc ++. so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf75d3000)

...

libXrandr.so.2 => não encontrado

libbsd.so.0 => /lib/i386-linux-gnu/libbsd.so.0 (0xf6b41000)

libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf6b3d000)

libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf6b36000)

Nota: Ainda estou com saudades do xrandr para i386. Então isso não vai funcionar ainda.

$ ./runner

./runner: erro ao carregar bibliotecas compartilhadas:> libXrandr.so.2: não é possível abrir o arquivo de objeto compartilhado: Não existe esse arquivo ou diretório

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.