2010-02-18 10 views
5

एलएसबी स्कैनर के मुताबिक, मेरी बाइनरी लिनक्स के एक विशिष्ट संस्करण के साथ असंगत है क्योंकि यह GBLICXX_3.4.9 प्रतीकों का उपयोग करती है। लेकिन जब मैंने उस संस्करण पर बाइनरी चलाने की कोशिश की, तो सबकुछ ठीक काम करता प्रतीत होता है ...क्या लिनक्स मानक बेस (एलएसबी) ऐप चेकर विश्वसनीय है?

क्या बाइनरी एक लिनक्स डिस्ट्रो पर भी शुरू हो सकती है यदि उस डिस्ट्रो में आवश्यक प्रतीकों वाले रनटाइम लाइब्रेरी गायब हैं?

+0

आपने यह परीक्षण कैसे किया कि वास्तव में उस मशीन पर वह प्रतीक उपलब्ध था या नहीं? – nos

उत्तर

2

मुझे नहीं पता कि मुझे सवाल अच्छी तरह से समझ गया है, लेकिन जहां तक ​​मुझे पता है कि आपने अपने प्रोग्राम को आधुनिक ग्लिब के साथ संकलित किया है, इसका मतलब यह नहीं है कि आप पुराने में निष्पादित नहीं कर पाएंगे संस्करण। अगले लिनक्स आदेश:

objdump -T "your exe or lib file" | grep GLIB

तुम्हें दिखाता हूँ जो glibc का संस्करण अपने कार्यक्रम के प्रतीक के हैं।

अधिक जानकारी के लिए एक कागज अलरिक ड्रेपपर द्वारा How to write shared libraries कहा जाता है वे कहते हैं कि आप आपको चेतावनी रहे हैं कि कैसे प्रतीकों साझा पुस्तकालयों के लिए, लेकिन यह भी निष्पादनयोग्य

2

मुझे लगता है के लिए न केवल लिनक्स में काम का बहुत कुछ बताते हैं है प्रतीकों का उपयोग कर रहे हैं, भले ही वे आपके परीक्षण प्रणाली पर उपलब्ध हों, हो सकता है कि सभी एलएसबी-अनुपालन प्रणालियों पर उपलब्ध न हो।

+0

यह _exactly_ चेतावनी का मतलब है। +1 –

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