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.