Kesalahan saat memuat pustaka bersama: libopenal.so.1 (Game 'pacapong' di Ubuntu 14.10)

11

Saya mengunduh game pacapong untuk Linux dan mencoba menjalankan executable, yang menghasilkan kesalahan:

$ ./runner 

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

Jelas, ada keharusan memuat libopenal.so.1:

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

NEEDED libopenal.so.1

Ada libopenal.so.1berbaring /usr/lib/x86_64-linux-gnudan saya bisa lakukan:

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

...

Saya tidak akan menjalankan executable ini.

Jadi, apa yang bisa saya coba lagi?

secara de facto
sumber

Jawaban:

12

Kesalahannya adalah karena ini adalah permainan 32-bit yang Anda coba jalankan di Linux 64-bit. Saya mengatasi kesalahan dengan mencari pesan kesalahan di Google untuk mencari tahu paket apa yang saya lewatkan. Saya akhirnya menginstal paket-paket berikut untuk menjalankan permainan:

sudo apt-get install libxxf86vm1:i386 libglu1-mesa:i386 libopenal1:i386 libssl1.0.0:i386
BennyMcBenBen
sumber
Bisakah Anda menjelaskan tentang apa yang menginstal paket-paket ini dan bagaimana cara menyelesaikan masalah?
Michael Lindman
Terima kasih atas jawaban Anda, itu memecahkan masalah. Di sana Anda berpikir untuk mengetahui segalanya tentang sistem, dan sebenarnya Anda tahu tentangnya, tetapi Anda tidak memikirkannya ...;)
de-facto
Ini. GOG bundel game terhubung dengan Linux 32-bit (ugggh, why) jadi jika Anda memiliki mesin 64-bit Anda harus memiliki KEDUA OpenGL / etc libraries untuk versi 64-bit dan 32-bit. Ini sangat membingungkan karena memberi tahu Anda bahwa Anda kehilangan perpustakaan yang Anda tahu miliki.
Katastic Voyage
0

Untuk masa depan, menjalankan ldd pada ./runner akan memberi tahu Anda perpustakaan yang dibutuhkan, jika ada, DAN jika itu i386 atau 64-bit.

$ ldd pada ./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 => tidak ditemukan

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)

Catatan Saya masih kehilangan xrandr untuk i386. Jadi ini belum akan berfungsi.

$ ./runner

./runner: kesalahan saat memuat pustaka bersama:> libXrandr.so.2: tidak dapat membuka file objek bersama: Tidak ada file atau direktori tersebut

Voyager Katastic
sumber