Errore durante il caricamento delle librerie condivise: libopenal.so.1 (Gioco 'pacapong' in Ubuntu 14.10)


11

Ho scaricato il gioco pacapong per Linux e ho provato a eseguire il file eseguibile, il che provoca l'errore:

$ ./runner 

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

Ovviamente, è necessario caricare libopenal.so.1:

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

NEEDED libopenal.so.1

Sta libopenal.so.1mentendo /usr/lib/x86_64-linux-gnue posso fare:

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

...

Non eseguirò questo eseguibile (./runner) come root (nel caso in cui questo problema possa essere correlato a diritti insufficienti, cosa non presumo).

Quindi, cosa potrei provare altro?

Risposte:


12

L'errore è perché si tratta di un gioco a 32 bit che si sta tentando di eseguire in Linux a 64 bit. Ho risolto gli errori cercando su Google i messaggi di errore per capire quali pacchetti mi mancavano. Ho finito per installare i seguenti pacchetti per far funzionare il gioco:

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

Potresti per favore approfondire cosa fa l'installazione di questi pacchetti e come risolve i problemi?
Michael Lindman,

Grazie per la tua risposta, risolve il problema. Lì pensi di sapere tutto sul sistema, bene e in realtà lo sai, ma non ci pensi ...;)
di fatto il

Questo. GOG raggruppa i giochi collegati a Linux a 32 bit (ugggh, why) quindi se hai una macchina a 64 bit devi avere ENTRAMBE le librerie OpenGL / etc per le versioni a 64 e 32 bit. È molto confuso perché ti dice che ti mancano le librerie che sai di avere.
Katastic Voyage

0

Per il futuro, eseguire ldd su ./runner ti dirà le librerie necessarie, se mancano E se sono i386 o 64-bit.

$ 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 => non trovato

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 mi manca ancora xrandr per i386. Quindi questo non funzionerà ancora.

$ ./runner

./runner: errore durante il caricamento delle librerie condivise:> libXrandr.so.2: impossibile aprire il file oggetto condiviso: nessun file o directory

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.