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?

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

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.