2012-11-09 9 views
9

मैं इस comand के साथ मैक से स्थापना रद्द करें पोर्ट:मैक पर libiconv त्रुटि को ठीक करने के लिए कैसे?

dyld: Library not loaded: /opt/local/lib/libiconv.2.dylib 
    Referenced from: /opt/local/bin/wget 
    Reason: Incompatible library version: wget requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0 
Trace/BPT trap: 5 

कैसे करना है:

sudo port -fp uninstall installed 

फिर जब मैं wget का उपयोग फ़ाइल डाउनलोड करने के लिए, यह मेरे से पता चलता?

※ मैक ओएस एक्स 10.7.5

अलावा

जब मैं चलाने

otool -L $(which wget) 

यह मेरे

/opt/local/bin/wget: 
    /opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.1.0) 
    /opt/local/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.1.0) 
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0) 
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 635.19.0) 
    /opt/local/lib/libgnutls.26.dylib (compatibility version 49.0.0, current version 49.3.0) 
    /opt/local/lib/libtasn1.3.dylib (compatibility version 5.0.0, current version 5.13.0) 
    /opt/local/lib/libgcrypt.11.dylib (compatibility version 19.0.0, current version 19.0.0) 
    /opt/local/lib/libgpg-error.0.dylib (compatibility version 9.0.0, current version 9.0.0) 
    /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.7) 
    /opt/local/lib/libidn.11.dylib (compatibility version 18.0.0, current version 18.8.0) 
+0

सुनिश्चित करें कि आपके पास 'DYLD_LIBRARY_PATH' सेट नहीं है। यह इन तरह की समस्याओं का कारण बन सकता है और आम तौर पर ओएस एक्स (जैसे इस मामले में) पर सक्रिय रूप से हानिकारक नहीं है। – neverpanic

उत्तर

10

जाहिर है आप का निर्माण दे दी है और स्थानीय स्तर पर wget की एक प्रति स्थापित जबकि आपके पास libiconv मैकपॉर्ट्स से स्थापित था, इसलिए यह उस लाइब्रेरी के गतिशील रूप से लिंक जो आपने अभी हटा दिया है। यदि आप मैकपॉर्ट्स के सभी निशान को हटाना चाहते हैं, तो आपको wget की उस प्रतिलिपि को पुनर्निर्माण करना होगा।

अन्यथा, आप मैकपोर्ट्स के साथ wget की एक प्रति स्थापित कर सकते हैं जो libiconv जैसी सभी निर्भरताओं को भी इंस्टॉल करेगा।

sudo port selfupdate 
sudo port clean wget 
sudo port install wget 

या, बजाय wget, आप ओएस एक्स के साथ curl जो एप्पल आपूर्ति इस्तेमाल कर सकते हैं

अद्यतन: अगर आपके अपडेट के आधार पर यह आप एक MacPorts से स्थापित wget उपयोग कर रहे हैं प्रकट होता है। किसी भी तरह से आप निर्भरताओं को सिंक से बाहर करने में कामयाब रहे हैं। (क्यों port -fp uninstall installed का उपयोग करें?) आप का सुझाव अब कोशिश:

sudo port selfupdate  # if not run recently 
sudo port clean libiconv 
sudo port upgrade --force libiconv 

वर्तमान संस्करण में libiconv का एक उन्नत मजबूर करने के लिए।

अद्यतन [2014-12]: इसे संशोधित करना, समस्या एक अपूर्ण मैकपॉर्ट्स पोर्ट फ़ाइल के कारण भी हो सकती है जो wget पोर्ट निर्भरता libiconv पर पंजीकृत नहीं करती है। मेरे पास opened an issue है इसके बारे में। [...] और मैकपॉर्ट्स प्रोजेक्ट ने जवाब दिया कि यह ओएस एक्स की नई रिलीज के उन्नयन के दौरान मैकपॉर्ट्स माइग्रेशन निर्देशों का पालन न करने का नतीजा हो सकता है; एक MacPorts problem hotlist entry for libiconv compatibilities here है।

किसी भी मामले में, स्रोत से wget को पुनर्स्थापित करने के लिए क्या काम हो सकता है।

sudo port selfupdate 
sudo port -f uninstall wget 
sudo port -s install wget 

अगर वह मदद नहीं करता है, तो आप the migration instructions पढ़ सकते हैं और सुनिश्चित करें कि आप अपग्रेड करने के बाद अपने सभी बंदरगाहों को फिर से स्थापित किया है बनाने के लिए कर सकते हैं।

+0

बहुत बहुत धन्यवाद। मैंने जो लिखा है वह मैंने किया है। लेकिन दुर्भाग्यपूर्ण ने फिर से त्रुटि देखी। जब मैं libiconv की जांच करने के लिए 'पोर्ट स्थापित' चलाता हूं, तो यह libiconv @ 1.14_0 (सक्रिय) है .और जब मैं curl कमांड चलाता हूं, एक ही संदेश :( – ikebukuro

+0

धन्यवाद! मैंने आपकी विधि का प्रयास किया है। लेकिन परिणाम वही है। मेरे पीसी में कुछ गलत हो सकता है लेकिन आप सभी को धन्यवाद। – ikebukuro

+1

स्वीकृत उत्तर सही नहीं है और समस्या का समाधान नहीं करता है। –

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