2013-08-22 12 views
12

मैं Ubuntu 12.04 उपयोग कर रहा हूँ - सर्वर और लगातार हो रही:कोई संस्करण जानकारी उपलब्ध

/usr/lib/libcrypto.so.1.0.0: कोई संस्करण जानकारी उपलब्ध (/ usr/lib के लिए आवश्यक/libpython2.7.so.1.0)

और

/usr/lib/libssl.so.1.0.0: कोई संस्करण जानकारी उपलब्ध (/usr/lib/libpython2.7 के लिए आवश्यक। तो .1.0)

किसी भी पैटर्न के बिना त्रुटि संदेश क्यों। यह vi चलाने के समान सरल हो सकता है। फाइलें हैं और वे लिंक नहीं हैं।

यह एलडीएपी सर्वर की मूल बातें सीखते समय अपनी साइट के निर्देशों का उपयोग करके ओपनएलडीएपी को संकलित और स्थापित करने के बाद थोड़ा सा हो रहा है। मैंने समस्या को हल करने और निकालने के लिए ओपनएलडीएपी को हटा दिया है। मैंने उस समाधान को आजमाने और परीक्षण करने के लिए ओपनएसएसएल और libssl1.0.0 को भी पुनर्स्थापित किया है।

किसी भी मदद की सराहना की जाएगी, दुर्भाग्य से Google उपयोगी नहीं रहा है।

+0

ऐसा लगता है कि अपने पैकेज प्रबंधक /usr/lib/libcrypto.so के लिए उचित सिमलिंक नहीं प्रदान की थी और – jww

उत्तर

4

मुझे स्रोत (openssl-1.0.1f) से openssl के नवीनतम संस्करण को संकलित और स्थापित करने के बाद भी यह कष्टप्रद चेतावनी संदेश प्राप्त हो रहा था। कुछ परीक्षण और त्रुटि के साथ कुछ शोध के बाद, मैं अपने विशेष परिदृश्य के लिए इस मुद्दे को ठीक करने में सक्षम था। यह मूल रूप से चेतावनी संदेश कहता है कि वास्तव में नीचे आ गया। स्रोत से बनाए गए पुस्तकालयों में कोई संस्करण जानकारी उपलब्ध नहीं है। यही वह चीज है जिसे उबंटू टीम ने अपने वितरण में जोड़ा है। इसलिए, समाधान openssl के लिए उबंटू पैकेज वितरण में शामिल संस्करण स्क्रिप्ट के साथ पैच करने के बाद अपने openssl स्रोत को पुन: संकलित करना है।

मैंने Google को "यूबंटू के लिए संस्करण जानकारी रखने के लिए खोलने के लिए खोल दिया" के लिए Google और https://launchpad.net/ubuntu/+archive/primary/+files/openssl_1.0.1f-1ubuntu1.debian.tar.gz पर आवश्यक स्रोत पैकेज को ढूंढने के लिए हुआ।

rm -r -f -v openssl-1.0.1f (just to make sure you start fresh) 
wget http://www.openssl.org/source/openssl-1.0.1f.tar.gz 
tar -xvf openssl-1.0.1f.tar.gz 
wget https://launchpad.net/ubuntu/+archive/primary/+files/openssl_1.0.1f-1ubuntu1.debian.tar.gz 
tar -xvf openssl_1.0.1f-1ubuntu1.debian.tar.gz 
mv debian openssl_1.0.1f-1ubuntu1 (just because that's what I did) 
cd openssl-1.0.1f/ 
patch -p1 < ../openssl_1.0.1f-1ubuntu1/patches/version-script.patch 
./config 
make 
make test 
sudo make install 

अब, त्रुटि संदेश चला जाना चाहिए:

तो, यहाँ प्रक्रिया मैं पीछा किया है।

यह उल्लेखनीय है कि शुरुआत में मैंने अपने openssl-1.0.1f स्रोत को मूल स्रोत पैकेज में http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/openssl_1.0.1-4ubuntu5.11.debian.tar.gz से शामिल संस्करण स्क्रिप्ट के साथ पैच किया। लेकिन, मेरी make एक त्रुटि के साथ विफल रहा था। मुझे लगता है कि यह समझ में आता है कि मुझे एक ही संस्करण 1.0.1f प्राप्त करने की आवश्यकता है।

क्रेडिट http://ubuntuforums.org/showthread.php?t=1905963 के लिए @mattcasw पर जाता है जिसने मुझे सही मार्ग का नेतृत्व किया।

11

मुझे लगता है मैं बात करने के लिए सही मिलना चाहिए ...

समस्या: libssl.so.1.0.0 और कोई संस्करण जानकारी उपलब्ध चेतावनी/त्रुटि libcrypto.so.1.0.0।

मैंने इसे हल किया !!! वाह!!! (पटाखे और सामान बंद जा रहा किया जाना चाहिए।)

काफी अनुसंधान, समय और प्रयास के बाद, (ले लिया सप्ताह), यहाँ क्या मैं अंत में कर समाप्त हो गया है ...

निर्देशिका है जहाँ आप निकालने समाप्त हो गया में openssl 1.0.1h के आपके संस्करण के लिए स्रोत कोड (अन्य संस्करणों के लिए भी काम करना चाहिए।) मैं एक फ़ाइल openssl.ld

कहा जाता है, यह फ़ाइल इस डाल में बनाने ...

उत्तर

OPENSSL_1.0.0 { 
    global: 
    *; 
}; 

सहेजें। अब में टाइप ...

बनाने स्वच्छ (बस यकीन है कि हम ताजा शुरू कर रहे हैं हो सकता है।)

वास्तव में मन boggling भाग के लिए अब

...

./config --prefix=/usr/local --openssldir=/usr/local/openssl shared -Wl,--version-script=openssl.ld -Wl,-Bsymbolic-functions 

फिर ...

make 

make test 

make install 

ldconfig 

और ऐसा करना चाहिए। (यह बहुत आसान है। कोई पैचिंग आवश्यक नहीं है।)

मैंने इस समाधान को 32 और 64 बिट संस्करणों में डेबियन व्हीज़ी को लागू किया है। और एक अवलोकन किया है। 64 बिट संस्करण स्वचालित रूप से new libssl.so.1.0.0 और libcrypto.so.1.0.0 फ़ाइलों को डिफ़ॉल्ट रूप से डिफ़ॉल्ट करता है जो/usr/local/lib निर्देशिका में बनाए जाते हैं। 32 बिट संस्करण नहीं है। यही कारण है कि मैंने पहले सोचा था कि डेबियन व्हीजी का 32 बिट संस्करण इस समस्या से पीड़ित नहीं था, लेकिन यह एक बार जब आप/usr/local/lib dir में नए openssl पुस्तकालयों का उपयोग करने के लिए 32 बिट संस्करण प्राप्त करते हैं।

लड कमांड का उपयोग करके यह जांचने के लिए कि द्विआधारी क्या पुस्तकालयों का उपयोग कर रहे हैं, यह भी पता लगाने में अमूल्य था।

एक अच्छा दिन है।

श्री ई Dude

+2

/usr/lib/libssl.so यह बहुत अच्छा काम करता है !!!। धन्यवाद। वैसे, मैंने संस्करण स्क्रिप्ट के लिए पूर्ण पथ का उपयोग किया। उदा।, --version-script =/home/userid/openssl/openssl.ld – jpark7ca

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