1.安裝checkinstall
sudo apt-get install checkinstall
2.編譯源碼
通常的源碼編譯需要經過configure或cmake,之后再通過make編譯。
configure or cmake
make
3.打包
make后執行
sudo checkinstall
隨后跟隨系統提示操作:
第一步,是否生成文檔,選"yes"
The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]:
第二步,輸入包描述
Please write a description for the package. End your description with an empty line or EOF. >> i am description >>
第三步,修改包信息
This package will be built according to these values: 0 - Maintainer: [ root@tegra-ubutnu ] 1 - Summary: [ i am the summary ] 2 - Name: [ name ] 3 - Version: [ ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ amd64 ] 8 - Source location: [ nameofthesrc ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ command ] 12 - Conflicts: [ ] 13 - Replaces: [ ]
需要記住的是,3 - Version 后面的字段不能為空,否則會失敗。
以arm上的opencv為例,下面是我的包描述信息:
0 - Maintainer: [ root@tegra-ubuntu ] 1 - Summary: [ opencv2.4. ] 2 - Name: [ opencv ] 3 - Version: [ 2.4.13 ] 4 - Release: [ arm ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ armhf ] 8 - Source location: [ build ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ build ] 12 - Conflicts: [ ] 13 - Replaces: [ ]
隨后回車即可得到包:opencv_2.4.13-arm_armhf.deb
4.安裝
在新的arm機器上輸入dpkg指令安裝opencv包
sudo dpkg -i opencv_2.4.13-arm_armhf.deb
dpkg指令說明:
dpkg -i name.deb #安裝軟件包 dpkg -I name.deb #從包里獲取deb包的信息 dpkg -i name.deb #移出所安裝的軟件包,名字可以通過查看包信息得到 dpkg -c name.deb #查看包內的內容,看起來就跟壓縮包一樣 dpkg -s name.deb #查看已安裝的包裹信息 dpkg -r name.deb #刪除一個已安裝的包裹 dpkg -P name.deb #刪除一個已安裝的包裹,包括配置文件