2013-06-09 4 views
6

मैं एंड्रॉयड स्टूडियो स्थापित किया है और उस में मेरी पहली परियोजना भागने की कोशिश की, और मैं निम्न त्रुटि मिल गया है:लोड करते समय त्रुटि साझा पुस्तकालयों: libncurses.so.5:

Error Output was: /home/user/android-studio/sdk/platform-tools/adb: error while loading  shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory 

मैं पहले से ही है

sudo ldconfig 

चलाने की कोशिश की लेकिन यह मदद नहीं करता है। मैंने हाल ही में libncurses स्थापित किया है (एंड्रॉइड स्टूडियो का उपयोग करने से पहले)।

मुझे क्या करना चाहिए?

उत्तर

2

यदि आप पूरी तरह से सुनिश्चित हैं कि libncurses, उर्फ ​​ncurses, स्थापित है, जैसा कि आपने लाइब्रेरी का एक सफल 'एलएस' किया है, तो शायद आप 64 बिट लिनक्स ऑपरेटिंग सिस्टम चला रहे हैं और केवल 64 बिट है libncurses स्थापित, जब चल रहा प्रोग्राम (adb) 32 बिट है।

यदि ऐसा है, तो 32 बिट प्रोग्राम 64 बिट लाइब्रेरी से लिंक नहीं हो सकता है (और इसे किसी भी तरह से स्थापित नहीं करेगा), इसलिए आपको libcurses, या ncurses (32 बिट संस्करण) स्थापित करना पड़ सकता है। इसी प्रकार, यदि आप 64 बिट एडीबी चला रहे हैं, तो शायद आपके ncurses 32 बिट (एक संभावित लेकिन कम संभावना परिदृश्य) है।

+0

तुम भी LD_LIBRARY_PATH में पुस्तकालय के लिए जाँच कर सकते हैं । यह संभव है कि आपका पथ सही ढंग से सेट न हो, इसलिए यह लाइब्रेरी नहीं ढूंढ रहा है। – Paul

9

यदि libncurses स्थापित नहीं है तो इसे इंस्टॉल करें और पुनः प्रयास करें। sudo apt-get install libncurses5:i386

इसके अलावा इस आदेश sudo apt-get install ia32-libs

+0

'sudo apt-get lib32ncurses5' स्थापित करें चाल है। –

0

का उपयोग कर स्थापित करने के लिए द्वारा पुस्तकालयों के संग्रह को स्थापित ncurses-compat-libs फेडोरा 24 पर मुझे इस मुद्दे पर मदद की (जबकि साझा पुस्तकालयों लोड हो रहा है एडीबी त्रुटि शुरू करने में असमर्थ: libncurses .so.5)

4

लोड करने में त्रुटि साझा पुस्तकालयों, जबकि: libncurses.so.5

आप यह देखते हैं, अपने distro शायद है libncurse के एक नए संस्करण स्थापित।

$ ls -1 /usr/lib/libncurses* 
/usr/lib/libncurses.so 
/usr/lib/libncurses++.so 
/usr/lib/libncurses++w.so 
/usr/lib/libncursesw.so 
/usr/lib/libncurses++w.so.6 
/usr/lib/libncursesw.so.6 
/usr/lib/libncurses++w.so.6.0 
/usr/lib/libncursesw.so.6.0 

इस मामले में, हम 6 संस्करण के साथ काम कर रहे हैं, इसलिए हम दो सिमलिंक बनाने:: सबसे पहले अपने distro है libncurses का कौन सा संस्करण का पता लगाने के

$ sudo ln -s /usr/lib/libncursesw.so.6.0 /usr/lib/libncurses.so.5 
$ sudo ln -s /usr/lib/libncursesw.so.6.0 /usr/lib/libtinfo.so.5 

इस के बाद, कार्यक्रम सामान्य रूप से चलाना चाहिए ।

+0

इसी तरह, यह सवाल का जवाब नहीं देता है, क्योंकि यह उस सॉफ़्टवेयर को संदर्भित करता है जो प्रश्न पूछे जाने पर उपलब्ध नहीं था। –

+2

हालांकि यह संभवतः मूल व्यक्तियों की समस्या का समाधान नहीं करता है, लेकिन यह मेरा 64 आर्क पर हल हुआ, जिसने ओपी के रूप में सटीक त्रुटि संदेश उत्पन्न किया। –

0

आपकी प्रणाली संभवतः संस्करण एंड्रॉइड स्टूडियो उपयोगों पर एनसीआरएस लाइब्रेरी प्रदान नहीं करती है। मेरे आर्क लिनक्स इंस्टॉल में केवल ncurses 6 था लेकिन एंड्रॉइड स्टूडियो को संस्करण 5 की आवश्यकता है। आप जांच सकते हैं कि आपके वितरण में संगतता पैकेज है या Rahmat Aligos के समाधान का उपयोग करें।

+0

प्रश्न एनसीआरएस 6 के रिलीज से दो साल पहले पूछा गया था। –

+0

थोड़ा देर हो चुकी है (मेरी बात प्रतीत होती है) लेकिन मुझे अपना जवाब लिखने के समय इस विशिष्ट मुद्दे का सामना करना पड़ा। – areiser

0

आर्क पर, मैं इस तरह ठीक: sudo ln -s /usr/lib/libncursesw.so.6 /usr/lib/libtinfo.so.6

संबंधित मुद्दे