2010-06-22 21 views
53

जब उबंटू 10.04 पर kdevelop 3.5 के साथ अपने आवेदन का निर्माण, मैं निम्नलिखित त्रुटियाँ:libtool संस्करण बेमेल त्रुटि

libtool: Version mismatch error. This is libtool 2.2.6 Debian-2.2.6a-4, but the 
libtool: definition of this LT_INIT comes from libtool 2.2.6b. 
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6 Debian-2.2.6a-4 
libtool: and run autoconf again. 
make[2]: *** [wktools4] Error 63 
make[2]: Target `all' not remade because of errors. 
make[1]: *** [all-recursive] Error 1 
make: *** [all] Error 2 
*** Exited with status: 2 *** 

मैं libtool की जरूरत संस्करण कहाँ मिल सकता है, या मैं aclocal.m4 कैसे पुन: कर सकते हैं?

उत्तर

102

प्रयास करें अपनी परियोजना के रूट निर्देशिका में

autoreconf --force --install 
./configure 
make 

चलाने की कोशिश करें।

यदि वह काम नहीं करता है, make maintainer-clean पहले चलाने की कोशिश करें और उसके बाद कदम 1.

है कि अभी भी, काम नहीं करता है चलाने make maintainer-clean, तो अपनी परियोजना के रूट निर्देशिका में हर उत्पन्न फ़ाइल को नष्ट जाओ, aclocal.m4, किसी भी m4 निर्देशिका, किसी भी autom4te.cache निर्देशिका, configure, Makefile.in, config.h, config.h.in, config.status, libtool, ltmain.sh, आदि सहित तब कदम 1.

क्यों इस काम करता है जाना:libtool और aclocal.m4 दोनों फ़ाइलों हैं कि आपके निर्माण प्रणाली द्वारा उत्पन्न होते हैं। अगर वे सिंक से बाहर हैं (बिल्ड टूल्स के विभिन्न संस्करणों द्वारा उत्पन्न), तो आपको यह त्रुटि मिलती है। आम तौर पर ऐसा नहीं होना चाहिए, लेकिन ऐसा कुछ उदाहरण है जो इसका कारण बन सकता है जब आप जेनरेट की गई फाइलों को स्रोत नियंत्रण में जांचते हैं।

यह समाधान क्या करता है सभी स्वत: जेनरेट की गई फ़ाइलों को हटा और पुन: उत्पन्न करता है। एक बार जब वे मिटा दिए जाते हैं और पुनर्जन्म प्राप्त हो जाते हैं, तो वे अब सिंक से बाहर नहीं हो सकते हैं।

+4

मैं जवाब संपादित नहीं करना चाहता क्योंकि मुझे समझ में नहीं आया, लेकिन मुझे यह त्रुटि थी, और 'autoreconf' पर्याप्त नहीं था।मुझे दौड़ना पड़ा: 'एक्लोकल; libtoolize --force; autoheader; autoconf' – djeikyb

+2

'autoreconf' आपके लिए उन सभी कार्यक्रमों को चलाने के अलावा कुछ और नहीं करता है। हालांकि, '--force' विकल्प जोड़ने के लिए शायद एक अच्छा विचार है, मैं जवाब संपादित करूंगा। – ptomato

+0

मैंने इसे ubuntu 12.04 पर php5 के साथ करने की कोशिश की, लेकिन इस आदेश के बाद चीजें बदतर हो गईं: मैं – hek2mgl

1

चल aclocal

+1

अपने जवाब के लिए धन्यवाद। क्या आप कृपया अधिक विशिष्ट हो सकते हैं? मुझे किस विकल्प का उपयोग करना है? धन्यवाद! – mspoerr

9

प्रयास करें

autoreconf -i 

-i विकल्प महत्वपूर्ण है।

1

शायद आपने विभिन्न संस्करणों के दो libtools स्थापित किया है। apt-get remove all तक प्रयास करें (जब तक आप कमांड लाइन में which libtool टाइप करते हैं, तब तक कुछ भी नहीं मिलता है), तो apt-get install जिसे आप पसंद करते हैं।

+1

तब तक इसका एहसास नहीं हुआ जब तक कि मैं कौन सी libtool चलाता हूं और पाते हैं कि यह मेरे एनाकोंडा अधिष्ठापन को इंगित करता है। धन्यवाद! – Yadli

0

मैं हल है कि सिस्टम के libtool स्थापना रद्द करने और नदी के ऊपर से स्थापित करने: Git क्लोन Git: //git.savannah.gnu.org/libtool.git ऊपर काम का

sudo apt-get install texinfo autoconf automake make 
./bootstrap 
./configure 
make 
sudo make install
0

कोई नहीं।

फिर इस काम किया:

autoconf -f 
./configure 
make 
0

उपरोक्त में से कोई काम किया। बाद मैं conda पर्यावरण निष्क्रिय है, यह काम किया:

source deactivate

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