साझा पुस्तकालयों को लोड करते समय त्रुटि: libopenal.so.1 (Ubuntu 14.10 में गेम 'पचपोंग')


11

मैंने लिनक्स के लिए गेम पचपोंग डाउनलोड किया और निष्पादन योग्य चलाने की कोशिश की, जिसके परिणामस्वरूप त्रुटि हुई:

$ ./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) को रूट के रूप में नहीं चलाऊंगा (बस अगर यह समस्या अपर्याप्त अधिकारों से संबंधित हो सकती है, तो मैं जो नहीं मान रहा हूं)।

तो, मैं और क्या कोशिश कर सकता था?

जवाबों:


12

त्रुटि इसलिए है क्योंकि यह एक 32-बिट गेम है जिसे आप 64-बिट लिनक्स में चलाने की कोशिश कर रहे हैं। मैंने त्रुटि संदेशों के माध्यम से त्रुटियों के माध्यम से यह पता लगाने के लिए काम किया कि मुझे कौन से पैकेज याद आ रहे हैं। खेल समाप्त करने के लिए मैंने निम्नलिखित पैकेजों को स्थापित किया:

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

क्या आप इस बात की विस्तृत जानकारी दे सकते हैं कि इन पैकेजों को स्थापित करना क्या है और यह कैसे मुद्दों को हल करता है?
माइकल लिंडमैन

आपके उत्तर के लिए धन्यवाद, यह समस्या को हल करता है। वहाँ आप सिस्टम के बारे में सब कुछ जानना चाहते हैं, अच्छी तरह से और वास्तव में आप इसके बारे में जानते हैं, लेकिन आप इसके बारे में नहीं सोचते ...;)
de-facto

इस। जीओजी बंडलों का खेल 32-बिट लिनक्स (ugggh, Why) के साथ जुड़ा हुआ है, इसलिए यदि आपके पास 64-बिट मशीन है तो आपके पास 64-बिट और 32-बिट संस्करणों के लिए ओपन / आदि पुस्तकालय हैं। यह अतिरिक्त भ्रामक है क्योंकि यह बताता है कि आप अपने पास मौजूद लाइब्रेरी को याद कर रहे हैं।
कैटैस्टिक वॉयज

0

भविष्य के लिए, ldd on ./runner आपको उन पुस्तकालयों को बताएगा जिनकी आवश्यकता है, यदि वे गायब हैं, और यदि वे i386 या 64-बिट हैं।

$ ldd ./runner पर

/ उपक्रम / खेल $ ldd ./unner

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)

नोट i386 के लिए मैं अभी भी xrandr याद कर रहा हूं। तो यह अभी तक काम नहीं कर रहा है।

$ ./runner

./runner: साझा लाइब्रेरी लोड करते समय त्रुटि:> libXrandr.so.2: साझा ऑब्जेक्ट फ़ाइल नहीं खोल सकता: कोई फ़ाइल या निर्देशिका नहीं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.