OpenCV 2.4.2 ha impiegato 6 ore per compilare sul Raspberry Pi e mi piacerebbe impacchettare tutto come un deb ma non l'ho mai fatto prima. Come posso pacchetto i file compilati in modo che scarichino o includano le altre librerie necessarie?
OpenCV 2.4.2 ha impiegato 6 ore per compilare sul Raspberry Pi e mi piacerebbe impacchettare tutto come un deb ma non l'ho mai fatto prima. Come posso pacchetto i file compilati in modo che scarichino o includano le altre librerie necessarie?
Risposte:
Se per OpenCV intendi le librerie di computer vision su http://opencv.willowgarage.com/, allora sono già impacchettate per debian dal Debian Science Team.
La soluzione migliore è scaricare il pacchetto sorgente debianizzato dal mirror debian più vicino, modificare debian / rules e / o Makefile o configurare ecc. Secondo necessità per compilare correttamente su raspberry pi e ricostruire i pacchetti.
Il lavoro di confezionamento è già terminato, non è necessario ripeterlo .... e ancora e ancora ogni volta che vuoi aggiornarli.
C'è un sacco di pacchetti binari, ma probabilmente libopencv-dev è quello che vuoi iniziare con http://packages.debian.org/search?keywords=libopencv-dev
Ho pensato di aggiungere una risposta migliore a chiunque osservasse questa discussione.
Quindi, se hai già avuto il problema di creare opencv sul dispositivo, probabilmente hai seguito le istruzioni qui:
http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html
Nel qual caso, se non si aggiunge il -D args
per sovrascrivere dinamicamente i parametri CMake nel passaggio due e si esegue invece semplicemente cmake ..
nella directory di build (creata), verrà generato un CMakeCache.txt
file.
Se modifichi il CMakeCache.txt
file, puoi modificare:
CPACK_BINARY_DEB:BOOL=ON
... oltre alle altre variabili specificate nel link sopra aperto. Invece di correre make
o make install
... corri make package
e la magia accade.
Avvertenza: se lo hai WITH_CUDA:BOOL=ON
potresti avere problemi di dipendenza con il packager - e questa è una domanda completamente diversa ...
Per maggiori informazioni consultare i CPACK_*_*:BOOL
parametri nei file cmake e consultare la documentazione di CPack:
OpenCV-*-{libs,dev}.deb
Hai bisogno di entrambi. Penso che dev abbia le intestazioni che usa per collegarsi al .so nelle librerie. Puoi anche capirlo eseguendo dpkg -c OpenCV-*.deb
sul pacchetto, per elencare i contenuti. Inoltre, se lo hai creato da source.tar, potresti non avere un numero di versione e dpkg -i $pkg
non ti piacerà. Puoi sapere se dice OpenCV-unknown-*{dev,libs}.deb
In quale caso git clone github.com/Itseez/opencv
e git checkout $tag
nella scheda Rilasci. Se costruisci dalla cima dell'albero, ottieni anche il tag su deb.
Questa pagina dovrebbe contenere tutte le informazioni e le esercitazioni necessarie: http://wiki.debian.org/Packaging