Помилка під час завантаження спільних бібліотек: libopenal.so.1 (гра 'pacapong' в Ubuntu 14.10)


11

Я завантажив гру pacapong для Linux і спробував запустити виконуваний файл, що призводить до помилки:

$ ./runner 

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

Очевидно, є необхідність завантаження libopenal.so.1:

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

NEEDED libopenal.so.1

Там libopenal.so.1лежить, /usr/lib/x86_64-linux-gnuі я можу:

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

...

Я не буду запускати цей виконуваний файл (./runner) як root (про всяк випадок, якщо ця проблема може бути пов'язана з недостатніми правами, чого я не припускаю).

Отже, що я міг би спробувати ще?

Відповіді:


12

Помилка полягає в тому, що це 32-бітна гра, яку ви намагаєтеся запустити в 64-бітному Linux. Я працював над помилками, гуглюючи повідомлення про помилки, щоб з'ясувати, які пакунки мені не вистачало. Я закінчив встановити наступні пакети, щоб розпочати гру:

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

Чи можете ви, будь ласка, детальніше розповісти про те, що робить встановлення цих пакунків і як це вирішує проблеми?
Майкл Ліндман

Дякую за вашу відповідь, це вирішує проблему. Там ти думаєш знати все про систему, ну і насправді ти про неї знаєш, але ти про це не думаєш ...;)
де-факто

Це. Ігри GOG поєднані з 32-розрядним Linux (ugggh, чому), тож якщо у вас 64-розрядна машина, ви повинні мати ОСОБИ бібліотеки OpenGL / etc для 64-бітної та 32-розрядної версій. Це додатково заплутано, оскільки говорить про те, що у вас відсутні бібліотеки, яких ви знаєте.
Катастичне подорож

0

Надалі запуск ldd на ./runner повідомить вам про необхідні бібліотеки, якщо вони відсутні, І якщо вони i386 або 64-бітні.

$ ldd on ./runner

/ взяти / гра $ 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 => не знайдено

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)

Примітка: Я все ще відсутній xrandr для i386. Тож це ще не спрацює.

$ ./runner

./runner: помилка під час завантаження спільних бібліотек:> libXrandr.so.2: не вдається відкрити спільний файл об'єкта: такого файлу чи каталогу немає

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.