Linux error while loading shared libraries: cannot open shared object file: No such file or directory -
प्रोग्राम Xenomai परीक्षण सूट का हिस्सा है, लिनक्स पीसी से लिनक्स + एक्सनोमाई एआरएम टूलचैन में क्रॉस कम्पाइल।
# echo $ LD_LIBRARY_PATH / lib # ls / lib ld-2.3.3.so libdl-2.3.3.so libpthread-0.10.so ld-linux.so.2 libdl.so.2 libpthread.so .0 लिबसी -2.3.3 Libgcc_s.so libpthread_rt.so libc.so.6 libgcc_s.so.1 libstdc ++। So.6 libcrypt-2.3.3.so libm-2.3.3.so libstdc ++। So.6.0.9 libcrypt.so.1 libm.so .6 # ./clocktest ./clocktest: साझा किए गए लाइब्रेरी लोड करते समय त्रुटि: libpthread_rt.so.1: साझा ऑब्जेक्ट फ़ाइल नहीं खोल सकता: ऐसी कोई फ़ाइल या निर्देशिका नहीं
संपादित करें: < / strong> ठीक है, मैंने अंत में .1 को ध्यान नहीं दिया, फ़ाइल नाम का हिस्सा था। इसका मतलब क्या है?
अपडेट साझा पुस्तकालयों के बारे में एक सामान्य जवाब के रूप में, मुझे लगता है कि इन प्रकार के संदेश का सबसे अधिक अक्सर कारण है क्योंकि आपने एक पैकेज स्थापित किया है, लेकिन उस पैकेज के "-dev" संस्करण को स्थापित नहीं किया है
खैर, यह झूठ नहीं है - उस लिस्ट में कोई libpthread_rt.so.1
नहीं है। आपको शायद इसे फिर से कॉन्फ़िगर करने और उसे फिर से बनाने की आवश्यकता है, ताकि यह आपके पास पुस्तकालय पर निर्भर हो, या जो भी प्रदान करता है libpthread_rt.so.1
।
आम तौर पर, संख्या इसके बाद संस्करण संख्याएं हैं, और आप अक्सर पाते हैं कि वे एक दूसरे के लिए सिमुलेशन हैं, इसलिए यदि आपके पास संस्करण 1.1 है तो libfoo.so, आपके पास एक वास्तविक फाइल है libfoo.so.1.0, और symlinks foo। तो और foo.so.1 को इंगित करते हुए libfoo.so.1.0। और यदि आप दूसरे संस्करण को निकाले बिना संस्करण 1.1 इंस्टॉल करते हैं, तो आपके पास एक libfoo.so.1.1 होगा, और libfoo.so.1 और libfoo.so अब एक नए को इंगित करेगा, लेकिन किसी भी कोड को उस सटीक संस्करण की आवश्यकता हो सकती है Libfoo.so.1.0 फ़ाइल का उपयोग करें। संहिता जो सिर्फ संस्करण 1 एपीआई पर निर्भर करता है, परन्तु यह परवाह नहीं है कि यह 1.0 या 1.1 है, जो कि libfoo.so.1 निर्दिष्ट करेगा। जैसा कि टिप्पणियों में बताया गया है, यह अच्छी तरह से समझाया गया है।
आपके मामले में, आप शायद सिमलिंकिंग libpthread_rt.so.1
से दूर हो सकते हैं libpthread_rt.so
। कोई गारंटी नहीं है कि यह आपके कोड को तोड़कर आपके टीवी रात्रिभोज को खाने नहीं देगा।
Comments
Post a Comment