साझा पुस्तकालयों libSDL-1.2.so.0 लोड करते समय त्रुटि


18

मैं अपने ubuntu सर्वर पर ioquake को स्थापित करने की कोशिश कर रहा हूं।

जब मैं इसे चलाने की कोशिश करता हूं, तो मुझे यह संदेश मिलता है:

# ./ioquake3
./ioquake3.x86_64: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory

मुझे लगा कि मेरे पास सब कुछ सही है, यहाँ वह है जहाँ libSDL है:

# cd /usr/lib64
# /usr/lib64# ls -l
total 2308
lrwxrwxrwx 1 root root      15 Oct 15 00:25 libSDL-1.1.so.0 -> libSDL-1.2.so.0
lrwxrwxrwx 1 root root      20 Oct 15 00:25 libSDL-1.2.so.0 -> libSDL-1.2.so.0.11.4
-rwxr-xr-x 1 root root 2358903 Jan 19  2012 libSDL-1.2.so.0.11.4

और मेरा रास्ता:

# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib64

मैं क्या गलत कर रहा हूं?


3
मुझे लगता है कि यह libSDL के बारे में नहीं बल्कि libSDL का एक संदेश है । भागो strace ./ioquake.x86_64। यह सभी सिस्टम कॉल दिखाएगा (निष्पादित होने में अधिक समय लेता है)। यह दिखाएगा कि किस फ़ाइल को खोलने का प्रयास विफल हो जाएगा।
जनवरी

मैंने ट्रेस लगाया। जब मैं इसे सीधा चलाता हूं, तो मुझे मदद मिलती है। जब मैं स्ट्रेस रन करता हूं ।/ioquake.x86_64 जैसा कि आपने सुझाव दिया है कि मुझे कमांड मिलती है तो नहीं मिली। मुझे सिरदर्द हो रहा है :(
ErocM

मैंने
स्ट्रेस

से OpenArena पूछे जाने वाले प्रश्न , इस संदेश को प्रकट होता है जब libSDL स्थापित नहीं है, तो मुझे नहीं लगता कि यह आया है से यह। सबसे अच्छा विचार नहीं है, लेकिन सिर्फ यह सुनिश्चित करने के लिए, क्या आपने libSDL-1.2.so.0.11.4 को libSDL-1.2.so.0 में बदलने की कोशिश की है?
NorTicUs

यहां तक ​​कि अगर आपके लिए पहला काम किया है: कृपया जवाब के रूप में दूसरे (23 upvotes) को चिह्नित करें क्योंकि यह वास्तव में 99% लोगों के लिए सही है।
tatsu

जवाबों:


10

टर्मिनल में निम्नलिखित का प्रयास करें:

sudo apt-get update

के बाद

sudo apt-get install --reinstall libsdl1.2debian

आपके द्वारा देखे जा सकने वाले कोई भी त्रुटि संदेश पोस्ट करें


27

यह मेरे लिए काम किया:

sudo apt-get install libsdl1.2debian:i386


1
यह बेहतर उत्तर है, इसे उत्तर के रूप में चिह्नित किया जाना चाहिए।
tatsu

2

मुझे पता है कि यह एक साल की देर है। लेकिन यह इसे ठीक करना चाहिए:

dpkg --add-architecture i386
sudo apt-get install libsdl1.2debian

समस्या यह है कि आप 64 बिट पुस्तकालयों के साथ 32 बिट आर्किटेक्चर के लिए संकलित एक कार्यक्रम चला रहे हैं।


4
वैकल्पिक रूप सेsudo apt-get install libsdl1.2debian:i386
Joril

1
@ जोरील मुझे लगता है कि आपकी टिप्पणी का जवाब खुद ही होना चाहिए
अल्टर लागोस

1
sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev

3
क्या आप इस बारे में कुछ स्पष्टीकरण दे सकते हैं कि समस्या क्या है और उपरोक्त आदेश को चलाने से यह कैसे हल होगा?
मुस्तफा अहंगराह

वास्तव में उपयोगकर्ता अनुप्रयोग SDL विंडो पर पाठ या छवियों को डंप करने के लिए उपरोक्त पुस्तकालय इनवर्टर का उपयोग करता है
jagadeesh

मेरा मतलब है कि उत्तर में स्पष्टीकरण शामिल है। फिर भी, मुझे लगता है कि यह स्पष्टीकरण पर्याप्त नहीं है।
मुस्तफा अहंगराह

0

यह प्रश्न अभी भी पुराने के लिए Ubuntu 14.04 के लिए प्रासंगिक है, लेकिन अभी भी GCCG (जेनेरिक कलेक्टिव कार्ड गेम) जैसे कार्यक्रमों का उपयोग करता है।

इस विषय पर दो बहुत बड़े जवाब हैं:

  1. Ubuntu 64-बिट में 32-बिट ऐप कैसे चलाएं?
  2. Ubuntu 14.04 LTS (भरोसेमंद तहर) में ia32-lib को कैसे स्थापित करें
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.