Paylaşılan kitaplıklar yüklenirken hata oluştu: libopenal.so.1 (Ubuntu 14.10'da 'pacapong' oyunu)


11

Linux için oyun pacapong'u indirdim ve hataya neden olan yürütülebilir dosyayı çalıştırmayı denedim:

$ ./runner 

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

Açıkçası, yükleme zorunluluğu vardır libopenal.so.1:

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

NEEDED libopenal.so.1

Orada libopenal.so.1yatıyor /usr/lib/x86_64-linux-gnuve yapabilirim:

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

...

Bu yürütülebilir dosyayı (./runner) root olarak çalıştırmayacağım (bu sorunun yetersiz haklar, varsaymadıklarım ile ilgili olması durumunda).

Peki, başka ne deneyebilirim?

Yanıtlar:


12

Bunun nedeni, 64 bit Linux'ta çalıştırmaya çalıştığınız 32 bit bir oyun olmasıdır. Hangi paketleri eksik olduğumu anlamak için hata mesajlarını googling yaparak hataları inceledim. Oyunu çalıştırmak için aşağıdaki paketleri yükledim:

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

Bu paketlerin ne şekilde kurulduğunu ve sorunları nasıl çözdüğünü açıklar mısınız?
— Michael Lindman

Cevabınız için teşekkür ederim, sorunu çözdü. Orada sistem hakkında her şeyi bilmek düşünüyorum, ve aslında bunu biliyorsun, ama bunu düşünmüyorsun ...;)
— de-facto

Bu. GOG, 32 bit Linux ile bağlantılı oyunları bir araya getirir (ugggh, neden), bu nedenle 64 bit makineniz varsa, 64 bit ve 32 bit sürümleri için HEM OpenGL / etc kütüphanelerine sahip olmanız gerekir. Ekstra kafa karıştırıcı çünkü sahip olduğunuzu bildiğiniz kütüphaneleri kaçırdığınızı söylüyor.
— Katastic Voyage

0

Gelecekte, ldd dosyasını ./runner üzerinde çalıştırmak, eksik olduklarında VE i386 veya 64 bit ise gerekli kütüphaneleri size söyleyecektir.

./runner'da $ ldd

/ 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 => bulunamadı

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)

Not Hala i386 için xrandr eksik. Yani bu henüz işe yaramayacak.

$ ./runner

./runner: paylaşılan kitaplıkları yüklerken hata:> libXrandr.so.2: paylaşılan nesne dosyası açılamıyor: Böyle bir dosya veya dizin yok

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.