2012-07-28 28 views
6

तो, हम सभी जानते हैं कि माउंटेन शेर अब एक्स 11 के साथ नहीं भेजता है और X11 की आवश्यकता वाले उपयोगकर्ताओं को Xquartz डाउनलोड करने के लिए निर्देशित किया जाता है। Xquartz /opt पर स्थापित करता है, लेकिन यह X11 और X11R6 से /usr पर सिम्लिंक भी करता है। लेकिन X11 से जोड़ने की आवश्यकता वाले सॉफ़्टवेयर को बनाने में फ़ाइलें शामिल हैं, मैंने पाया है कि X11 लाइब्रेरीज़ को खोजने के लिए ./configure प्राप्त करने के लिए मुझे लाइब्रेरी सर्च पथ में /usr/X11/include (या /opt/X11/include) जोड़ने वाले पर्यावरण चर को पास करना होगा। मेरा प्रश्न क्यों है?ओएस एक्स 10.8 माउंटेन शेर सॉफ्टवेयर बनाने के दौरान एक्स 11 पुस्तकालय क्यों नहीं ढूंढता है?

मैं (कई परिणाम वापस स्टैक ओवरफ़्लो की ओर इशारा करते) गूगल पर कुछ शोध किया है, और मैं एप्पल के प्रलेखन पढ़ा है, और इन स्रोतों सब से संकेत मिलता है में पाया /etc/ld.so.conf फाइल करने के लिए ओएस एक्स में कोई समकक्ष है कि वहाँ कई (यदि नहीं सभी) लिनक्स वितरण। ऐप्पल ने यह भी कहा कि DYLD_LIBRARY_PATH डिफ़ॉल्ट रूप से खाली है। हालांकि, शेर के तहत (ऐप्पल के आखिरी 'आधिकारिक' एक्स 11 स्थापित) के साथ, ./configure स्क्रिप्ट्स को पुस्तकालय खोज पथ में कुछ भी जोड़ने के बिना X11 पुस्तकालयों को मिलेगा।

तो, क्यों./configure स्क्रिप्ट्स को लाइब्रेरी खोज पथ के स्पष्ट संशोधन के बिना माउंटेन शेर में X11 लाइब्रेरी नहीं मिल सकती है?

+0

एक एक्स 11 ऐप का उदाहरण क्या है जिसे आप कॉन्फ़िगर करने का प्रयास कर रहे हैं ... और कॉन्फ़िगरेशन का आउटपुट? अगर मैं [xpdf] (http://www.foolabs.com/xpdf/) डाउनलोड करता हूं, उदाहरण के लिए, यह माउंटेन शेर पर मेरा एक्स libs ढूंढ रहा है और मुझे नहीं लगता कि मैंने कुछ भी विशेष किया है (XQuartz इंस्टॉल करने के अलावा)। – Stennie

+0

विशेष रूप से, रूबी 1.8.7। आप यहां समस्या और समाधान देख सकते हैं: http: // stackoverflow।कॉम/प्रश्न/11664835/पहाड़-शेर-आरवीएम-इंस्टॉल-1-8-7-x11-त्रुटि जैसा कि मैंने मूल प्रश्न में कहा था, मैंने समस्या को "निश्चित" किया है। मैं बस सोच रहा था कि अगर कोई जानता है कि यह व्यवहार Xquartz के साथ माउंटेन शेर में क्यों अलग है, तो ऐप्पल एक्स 11 के साथ शेर के विरोध में। –

उत्तर

1

एक साल पहले की तुलना में अधिक पूछे जाने पर ... लेकिन जैसा कि मैंने एक ऐसी ही समस्या के साथ यहाँ आया ...

ध्यान दें कि उल्लेख गहरे लाल रंग का सवाल में, वहाँ कोई पुस्तकालय खोज पथ बार संशोधित किया गया जा रहा है। वह समाधान बस एक पर्यावरण चर सेट करता है जिसे कई मेकफ़ाइल द्वारा C++ कंपाइलर के झंडे के रूप में उठाया जाता है। यही कारण है कि उदाहरण परिभाषित निर्माण समय मैं ncludepath है, यानी ज eaders के लिए खोज करने के लिए जहां - नहीं पुस्तकालयों (जो आपके संकलक/लिंकर करने के लिए एक एल विकल्प हो गया होता)। दोनों निर्माण समय विकल्प थे। चाहे एलडी_LIBRARY_PATH या DYLD_LIBRARY_PATH - दोनों पर्यावरण चर हैं जिन्हें गतिशील लिंकर द्वारा रनटाइम पर माना जाता है। (अधिक जानकारी के लिए, http://en.wikipedia.org/wiki/Dynamic_linker देखें)

मैं हाथ में कोई पूर्व 10.8 मशीन है, लेकिन लगता है कि वहाँ एक सिमलिंक /usr/शामिल/X11 गया हो सकता है ->/opt/X11/शामिल/X11 - अन्यथा मुझे नहीं पता कि एटीएम कैसे यह पहले काम कर सकते थे, एक ही सूत्रों संभालने ...

इस तरह की समस्याओं के लिए एक और संभावित समाधान (बस तय मेरी RealVNC निर्माण) है:

$ autoconf 
$ ./configure 

तो के लिए अपने प्रश्न "क्यूं कर?" अंततः इसका उत्तर दिया जा सकता है: क्योंकि आपके स्रोतों में 'प्री-बिल्ट' कॉन्फ़िगरेशन स्क्रिप्ट शामिल थी जो पुरानी ऑटोोटूल पर आधारित थी जिसमें /opt/X11/X11 की खोज करने के लिए संभावित स्थान के रूप में शामिल नहीं किया गया था या बस कुछ नहीं मिला उपरोक्त उल्लिखित संकलन समय आपके वर्तमान सिस्टम पर ठीक है। मेरे पास होमब्री - आह, महान सामान, चीयर्स के माध्यम से ऑटोकॉन्फ़ स्थापित है।

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