काहिरा 1.8.10 कैसे स्थापित करें


12

पैकेज libcairo2-devकाहिरा ग्राफिक्स लाइब्रेरी (1.10.2) का नवीनतम संस्करण है। वहाँ किसी भी तरह से मैं संस्करण 1.8.10 स्थापित कर सकता हूँ?

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


क्या आप बता सकते हैं कि आप पुराने संस्करण को क्यों स्थापित करना चाहते हैं? पुराने संस्करण सिस्टम को व्यापक रूप से स्थापित करना संभवतः एक संभावना नहीं है (कुछ प्रोग्राम नए रिलीज़ की सुविधाओं पर निर्भर हो सकते हैं), लेकिन यदि आपके पास पुराने संस्करण की संकीर्ण आवश्यकता है तो एक समाधान संभव हो सकता है।
जेम्स हेनस्ट्रिज

मैं व्यक्तिगत रूप से काहिरा के बारे में बहुत कम जानता हूं, लेकिन मैंने एक कार्यक्रम लिखा है जो एक पुस्तकालय से जोड़ता है जो बदले में काहिरा का उपयोग ग्राफिक्स बनाने के लिए करता है। मैंने अपने मैक पर ज्यादातर मूल विकास किया था, जिसके लिए काइरो इंस्टॉलेशन केवल फ़िंक जैसी चीज़ के माध्यम से उपलब्ध था (जिसमें केवल v1.8.10 है) ...
डैनियल स्टैंडेज

... कार्यक्रम में ओपनएमपी का भी उपयोग किया गया है, और लूप के लिए समानांतर में से एक काहिरा पुस्तकालय कार्यों के लिए कॉल शामिल है। जब मैं इसे एक प्रोसेसर पर चलाता हूं तो यह प्रोग्राम उबंटू पर काम करता है, और यह किसी भी संख्या में प्रोसेसर के लिए मैक पर काम करता है। लेकिन जब मैं इसे कई प्रोसेसर के साथ उबंटू पर चलाता हूं, तो मुझे एबॉर्ट्स, सेगफॉल्ट्स, ग्लिब्स आदि
मिलते हैं

मैं समझता हूं कि v1.8.10 पर अपग्रेड करना एक ऐसी चीज नहीं है जिसे आप दीर्घकालिक समाधान के लिए चाहते हैं, और यदि आप इंस्टॉलेशन को अलग कर सकते हैं तो यह और भी बेहतर हो सकता है। मैंने पहले ही सॉफ़्टवेयर वितरित कर दिया है और मैं बस एक अस्थायी रोक-अंतर चाहता हूं जब तक कि मैं यह पता नहीं लगा सकता कि मेरे कार्यक्रम में वास्तव में क्या गलत है।
डैनियल स्टैंडेज

संदर्भ के लिए, काहिरा के लिए संस्करण संख्या 1.8 -> 1.9 -> 1.10 है, इसलिए उबंटू के साथ शामिल संस्करण को वह सब कुछ करने में सक्षम होना चाहिए जो आपने मैकओएस पर उपयोग किया था। यदि आप केवल काहिरा को किसी तीसरे पक्ष के पुस्तकालय के माध्यम से एक्सेस कर रहे हैं, तो आप संशोधित नहीं कर रहे हैं, तो आपको गलती से नई सुविधाओं का उपयोग करने और अपने पुराने विकास वातावरण के साथ संगतता को तोड़ने के बारे में चिंता नहीं करनी चाहिए। यदि आप नए संस्करण के साथ किसी समस्या में चले गए हैं, तो क्या आप बता सकते हैं कि यह क्या है?
जेम्स हेनस्ट्रिज

जवाबों:


9

यदि आप काहिरा के पुराने संस्करण का परीक्षण करना चाहते हैं, तो आप इसे अपने घर निर्देशिका में एक अस्थायी उपसर्ग में बना सकते हैं।

सबसे पहले, सुनिश्चित करें कि आप काहिरा के निर्माण पर निर्भरता स्थापित कर चुके हैं। आप निम्न आदेश के साथ ऐसा कर सकते हैं:

sudo apt-get build-dep cairo

अब काहिरा के पुराने संस्करण को डाउनलोड और अनपैक करें:

wget http://cairographics.org/releases/cairo-1.8.10.tar.gz
tar xzf cairo-1.8.10.tar.gz
cd cairo-1.8.10

अब आप काहिरा को एक अस्थायी उपसर्ग में बनाना चाहते हैं। मैंने इसके ~/prefixलिए कुछ अवसरों पर उपयोग किया है , लेकिन आप किसी भी निर्देशिका का उपयोग कर सकते हैं।

./configure --prefix=$HOME/prefix
make
make install

अब आपको अपने खुद के सॉफ्टवेयर काहिरा के इस संस्करण का उपयोग करने की आवश्यकता है। यदि सॉफ़्टवेयर pkg-configअपनी निर्भरता का पता लगाने के लिए उपयोग करता है, तो यह केवल निम्नलिखित पर्यावरण चर को सेट करने के लिए आवश्यक होना चाहिए:

export PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig

इसे का उपयोग नहीं कर रहा है pkg-config, तो आप को समायोजित करने की आवश्यकता हो सकती CFLAGSशामिल करने के लिए -I$HOME/prefix/includeऔर LDFLAGSशामिल करने के लिए -L$HOME/prefix/lib

अंत में, काहिरा के कस्टम संस्करण का उपयोग करके अपने कार्यक्रम को चलाने के लिए आपको गतिशील लिंकर को कॉन्फ़िगर करने की आवश्यकता होगी ताकि यह आपके अस्थायी उपसर्ग में साझा पुस्तकालयों की तलाश करे:

export LD_LIBRARY_PATH=$HOME/prefix/lib

एक बार सेट होने के बाद, आप यह सत्यापित कर सकते हैं कि आपका प्रोग्राम काहिरा की आपकी कॉपी के खिलाफ लिंक का उपयोग कर रहा है ldd। अगर यह ठीक लग रहा है, तो आप सब कर रहे हैं।

सफाई करना

एक बार जब आप इस अस्थायी स्थापित के साथ कर लेते हैं, तो सफाई करना बहुत आसान है। बस पर्यावरण चर को रीसेट करें और अस्थायी इंस्टॉल उपसर्ग को हटा दें:

unset LD_LIBRARY_PATH
unset PKG_CONFIG_PATH
rm -rf $HOME/prefix

सिस्टम काहिरा को फिर से उपयोग करने के लिए ऐसा करने के बाद आपको अपने प्रोग्राम को फिर से कॉन्फ़िगर / पुनर्निर्माण करना पड़ सकता है।


1
उत्कृष्ट और स्पष्ट निर्देश, एक साफ स्थापित और स्थापना रद्द करने की प्रक्रिया के साथ। धन्यवाद!
डैनियल स्टैंडेज

डिफ़ॉल्ट रूप से कैसे हटाएं $ HOME से पथ शामिल हैं ताकि यह डिफ़ॉल्ट काइरो फ़ाइलों का उपयोग न करे
Dau
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.