如何为指定版本的tesseract创建.deb安装包
解决方法
你之前执行make checkinstall失败是因为checkinstall并非cmake生成的Makefile的内置构建目标,属于用法错误,你可以用以下两种方式生成deb安装包:
方法1:使用checkinstall工具生成
- 先安装依赖工具:
sudo apt install -y checkinstall
- 按照你现有的步骤编译到
make完成即可,不要执行sudo make install,直接在build目录下执行以下命令:
sudo checkinstall --pkgname=tesseract-ocr --pkgversion=4.0.0 --pkgrelease=1focal --provides=tesseract-ocr --conflicts=tesseract-ocr --requires=libleptonica-dev --install=no
- 执行过程中遇到信息确认提示直接按回车即可,最终会在当前build目录生成符合命名规则的deb安装包,参数中
--install=no表示仅生成包不安装到本地环境。
方法2:使用cmake自带的cpack生成(更适配CI场景)
cmake原生支持通过cpack生成deb包,无需安装额外工具:
- 执行cmake配置时可按需添加包自定义参数,示例如下:
cmake .. -DBUILD_TRAINING_TOOLS=OFF \ -DCPACK_PACKAGE_NAME=tesseract-ocr \ -DCPACK_PACKAGE_VERSION=4.0.0 \ -DCPACK_DEBIAN_PACKAGE_DEPENDS=libleptonica-dev \ -DCPACK_DEBIAN_PACKAGE_MAINTAINER="自定义维护者名称"
- 正常执行
make编译完成后,直接在build目录运行:
cpack -G DEB
- 等待执行完成即可在build目录获取生成的deb安装包。
验证与使用
生成的安装包可通过以下命令本地测试安装:
sudo dpkg -i tesseract-ocr_4.0.0-1focal_amd64.deb # 若出现依赖报错执行以下命令修复即可 sudo apt install -f
你可以将生成的包托管到私有存储位置,在GitHub Actions流程中直接下载后执行dpkg安装即可,无需每次从源码编译。
内容的提问来源于stack exchange,提问作者Kartoos
相关产品推荐
相关产品推荐

