मैं अपने संकलित OpenCV बिल्ड के साथ -deb पैकेज कैसे बना सकता हूं?


9

OpenCV 2.4.2 को रास्पबेरी पाई को संकलित करने में 6 घंटे लगे और मैं एक बहस के रूप में सब कुछ पैकेज करना पसंद करूंगा लेकिन मैंने पहले कभी ऐसा नहीं किया। मैं संकलित फ़ाइलों को कैसे पैकेज कर सकता हूं ताकि वे आवश्यक अन्य पुस्तकालयों को डाउनलोड या शामिल करें?


क्या यह एक पाई से संबंधित एक के बजाय एक लिनक्स विशिष्ट प्रश्न है? शायद इसके बारे में डेबिन पर बेहतर पूछ रहे हैं?

नमस्ते। चूंकि यह सामान्य डेबियन है, क्या आप बुरा मानेंगे यदि मैं इसे उबंटू या यूनिक्स और लिनक्स में ले जाऊं ?
जीवाजी

@ मुझे लगता है कि यह पीआई से संबंधित है क्योंकि मुझे हार्ड फ्लोट बनाम सॉफ्ट फ्लोट के बारे में कुछ नहीं पता है और मुझे पता है कि इसके बारे में पाई के साथ कैविएट हैं। अगर कोई आम सहमति है कि कोई व्यक्ति इस प्रश्न का उत्तर देने में मदद कर सकता है तो मुझे उसके स्थानांतरित होने में कोई समस्या नहीं है

जवाबों:


4

यदि OpenCV द्वारा आप कंप्यूटर विज़ुअल लाइब्रेरी http://opencv.willowgarage.com/ से मतलब रखते हैं, तो वे पहले से ही डेबियन साइंस टीम द्वारा डेबियन के लिए पैक किए जाते हैं।

आपका सबसे अच्छा शर्त यह है कि अपने निकटतम डेबियन दर्पण से डेबियनइज्ड सोर्स पैकेज को डाउनलोड करें, रास्पबेरी पाई पर सही ढंग से संकलन करने और पैकेज के पुनर्निर्माण के लिए आवश्यकतानुसार डेबियन / नियमों और / या मेफाइल या कॉन्फ़िगर आदि को संशोधित करें।

पैकेजिंग का काम पहले से ही हो चुका है, इसे दोबारा करने की कोई जरूरत नहीं है .... और बार-बार हर बार जब आप उन्हें अपडेट करना चाहते हैं।

बाइनरी पैकेज का एक पूरा गुच्छा है, लेकिन libopencv-dev शायद वही है जो आप http://packages.debian.org/search?keywords=libopencv-dev से शुरू करना चाहते हैं


क्या प्रकाशित पैकेज रास्पबेरी पाई की तरह एक एआरएम वास्तुकला पर काम करेंगे? काश, मैं पैकेज और निर्भरता को बेहतर ढंग से समझ पाता, लेकिन यह मुझे प्रतीत होता है कि जब तक विलोगराज ने विशेष रूप से रास्पबेरी पाई में प्रोसेसर के लिए पैकेज जारी नहीं किया, तब तक उनके पैकेज काम नहीं करेंगे।
दान बी

आपने जो लिखा है उसे आप गलत समझ रहे होंगे। मैंने डेबियन को डाउनलोड करने के लिए कहा SOURCE पैकेज और रास्पबेरी पाई के लिए recompile । 'onlinemarketresults' में पहले से ही एक आरपीआई संकलन (या क्रॉस-संकलन) वातावरण स्थापित है और आरपीआई के लिए संकलन करना जानता है, वह सिर्फ पैकेज बनाने का तरीका जानना चाहता था।
कैस

11

मैंने सोचा कि मैं इस धागे को देखने वाले किसी और के लिए एक बेहतर उत्तर जोड़ूंगा।

इसलिए, यदि आप पहले से ही डिवाइस पर opencv के निर्माण की परेशानी से गुजर चुके हैं, तो संभवतः आपने यहां निर्देशों का पालन किया है:

http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html

जिस स्थिति में, यदि आप -D argsचरण दो में सीएमके मापदंडों को गतिशील रूप से ओवरराइड नहीं करते हैं और आप इसके बजाय cmake ..बिल्ड डायरेक्ट्री (आप बनाया) के अंदर चलते हैं, तो यह एक CMakeCache.txtफ़ाइल उत्पन्न करेगा ।

यदि आप CMakeCache.txtफ़ाइल को संपादित करते हैं, तो आप बदल सकते हैं:

CPACK_BINARY_DEB:BOOL=ON

... उपरोक्त opencv लिंक में अन्य निर्दिष्ट चर के अलावा। दौड़ने के बजाय makeया make install... बस दौड़ें make packageऔर जादू हो जाए।

चेतावनी: यदि आपके पास WITH_CUDA:BOOL=ONआपके पास पैकर के साथ निर्भरता के मुद्दे हो सकते हैं - और यह बिल्कुल अलग सवाल है ...

अधिक जानकारी के CPACK_*_*:BOOLलिए cmake फ़ाइलों में पैरामीटर देखें , और CPack प्रलेखन से परामर्श करें:

http://www.cmake.org/Wiki/CMake:CPackPackageGenerators


यह एक .deb फ़ाइलों की एक जोड़ी, टार फ़ाइलों के एक जोड़े और एक स्क्रिप्ट का उत्पादन करता है। इनमें से किसे लक्ष्य प्रणाली में वितरित करने और चलाने की आवश्यकता है? सब? क्या उन्हें किसी भी सहायक फ़ाइल की आवश्यकता है?
एलेक्स

@ एलेक्स, पिछले साल इस पोस्ट के बारे में भूल गए। तो, आपके पास होना चाहिए OpenCV-*-{libs,dev}.deb आप दोनों की जरूरत है। मुझे लगता है कि देव को हेडर ld का उपयोग करता है। आप dpkg -c OpenCV-*.debसामग्री को सूचीबद्ध करने के लिए पैकेज पर चलकर भी इसका पता लगा सकते हैं। इसके अलावा, अगर आपने source.tar से इसे बनाया है, तो आपके पास वर्जन नंबर नहीं हो सकता है और dpkg -i $pkgयह पसंद नहीं करेगा। आप बता सकते हैं अगर यह कहते हैं OpenCV-unknown-*{dev,libs}.debमें जो मामले git clone github.com/Itseez/opencvऔर git checkout $tagरिलीज के टैब में। यदि आप पेड़ के ऊपर से निर्माण करते हैं, तो आपको डीब पर टैग भी मिलता है।
होन्नी

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.