2011-12-20 3 views
9

विफल रहा मुझे यकीन है कि यह एक काफी सरल समस्या है। मेरे पास एक बहुत ही सरल config.ac फ़ाइल है जिसका उपयोग मैं केवल यह जानने के लिए कर रहा हूं कि autoconf & pkg-config एक साथ कैसे काम करता है। confgure.ac फ़ाइल लगता है:pkg-config मैक्रो PKG_CHECK_MODULES का उपयोग

AC_PREREQ(2.61) 
AC_INIT(autoconf_test, 1.0, [email protected]) 

PKG_CHECK_MODULES(libusbmuxd, libusbmuxd >= 0.1.4) 

मैं तो कमांड लाइन से autoconf निष्पादित कर सकते हैं और यह एक कॉन्फ़िगर पटकथा का निर्माण करता है। हालांकि, जब मैं कॉन्फ़िगर स्क्रिप्ट चलाने, मैं निम्नलिखित त्रुटि मिलती है:

./configure: line 1618: syntax error near unexpected token `libusbmuxd,' 
./configure: line 1618: `PKG_CHECK_MODULES(libusbmuxd, libusbmuxd >= 0.1.4)' 

तो मैं इसे इस पुस्तकालय पा सकते हैं कि क्या देखने के लिए जाँच करने के लिए कमांड लाइन से pkg-config प्रोग्राम का उपयोग, यह सफल होता है।

/usr/lib/pkgconfig $pkg-config --libs --cflags --modversion libusbmuxd 

1.0.7 
-I/usr/local/Cellar/usbmuxd/1.0.7/include -L/usr/local/Cellar/usbmuxd/1.0.7/lib -lusbmuxd 

इसलिए, यह स्पष्ट लगता है कि किसी कारण से PGK_CHECK_MODULE मैक्रो खोजा नहीं जा सकता और मुझे यकीन है कि क्यों नहीं कर रहा हूँ।

यह शायद ओएस विशिष्ट नहीं है, लेकिन मै मैक ओएस एक्स 10.6.8 का उपयोग कर रहा हूं।

+1

यदि मैक गलत नहीं है तो मैक्रो एक फ़ाइल 'pkg.m4' में है। क्या आप इस फाइल को कहीं भी '/ usr/share/aclocal' या इसी तरह की निर्देशिका में पा सकते हैं? – ptomato

+3

pkg.m4 –

+0

को देखने के लिए निर्देशिका को निर्धारित करने के लिए 'aclocal --print' का उपयोग करें, आपने pkg-config कैसे स्थापित किया है, और आपने autotools को कैसे इंस्टॉल किया? –

उत्तर

16

जब आप बूटस्ट्रैपिंग (यानी, autoreconf चल रहे हैं), aclocal pkg.m4 नहीं ढूंढ पा रहा है। ऐसा इसलिए है क्योंकि pkg-config या तो स्थापित नहीं किया गया था या कहीं भी स्थापित किया गया है जिसे क्लोकल के बारे में पता नहीं है। (यानी, यह automake की तुलना में एक अलग उपसर्ग के साथ स्थापित किया गया था।) वास्तव में विचार का एक बड़ा स्कूल है जो कहता है कि autotools के साथ pkg-config का उपयोग करने का सबसे अच्छा तरीका इसका उपयोग नहीं करना है। यदि आप ऑटोकॉन्फ़ मेलिंग सूची संग्रह को देखते हैं, तो आप इस बहस वाले विज्ञापन-विवेक को देखेंगे। मैं यह नहीं कह रहा हूं कि आपको पीकेजी-कॉन्फ़िगरेशन का उपयोग करने से बचना चाहिए (हालांकि मुझे विश्वास है कि ऐसा करना सबसे अच्छा है), लेकिन कृपया ध्यान रखें कि बहुत से लोग इसे पूरी तरह से टालने की सलाह देते हैं।

0

ऐसा लगता है कि होमब्री लोगों ने फैसला किया कि यह उनकी समस्या नहीं थी और इसे चेतावनी में डाल दिया गया। सुपर निराशाजनक क्योंकि कोई भी नहीं देख पाएगा क्योंकि कोई भी होमब्रू या ऑटोमैक का उपयोग नहीं कर रहा है और गलत क्या है इसके विवरण में गहरी खुदाई करने की उम्मीद है। Here's the link.

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