我正在尝试为 specific version 创建一个 .deb 安装程序的 tesseract .这个确切的版本没有在 ubuntu 20.04 中提供,
我在其他地方找不到它,我的项目需要它。
我们可以按照 here 给出的步骤使用 cmake 构建和安装它。这工作正常。以下是我使用 cmake 从源代码构建和安装 tesseract 的命令:
sudo apt install -y git cmake gcc g++ pkg-config libleptonica-dev
git clone --branch 4.0.0 --depth 1 https://github.com/tesseract-ocr/tesseract
cd tesseract
mkdir build
cd build
cmake .. -DBUILD_TRAINING_TOOLS=OFF
make
sudo make install
sudo ldconfig
我试过 sudo make checkinstall
但目标似乎不存在。任何有经验的人都可以帮助我构建软件包安装程序,而不是直接从源代码安装它。我想要安装程序的原因是使用
ubuntu-latest
将它与 GitHub Actions 轻松集成。图片。我们可以简单地将安装程序托管在某个地方,让 github 操作下载安装程序并安装 tesseract
每次运行前。
最佳答案
正如@Tsyvarev 指出的那样,我调查了 cpack
它运作良好。 cmake
和 cpack
对我来说是新的,以下是我编译 4.0.0
所遵循的步骤ubuntu 20.04
上的 tesseract 版本:
克隆 repo :
sudo apt install -y git cmake gcc g++ pkg-config libleptonica-dev
git clone --branch 4.0.0 --depth 1 https://github.com/tesseract-ocr/tesseract
编辑 CMakeLists.txt然后我们需要在
CMakeLists.txt
的末尾添加以下行启用 cpack 功能并设置所需的变量:set(OSNAME "ubuntu_20.04")
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "<your name>")
set(CPACK_DEBIAN_PACKAGE_NAME "tesseract-ocr")
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "<description>")
# set(CPACK_DEBIAN_PACKAGE_DEPENDS "liblept5") # Manually adding the dependencies
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) # This automatically determines required dependencies
set(CPACK_PACKAGE_VERSION ${PACKAGE_VERSION})
set(CPACK_PACKAGE_FILE_NAME ${CPACK_DEBIAN_PACKAGE_NAME}_${PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}_${OSNAME})
set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
set(CPACK_STRIP_FILES TRUE)
include(CPack)
我正在使用 OSNAME
变量以将其附加到生成的文件名。了解CPACK_DEBIAN_PACKAGE_ARCHITECTURE
值,你可以运行 dpkg --print-architecture
,在我的情况下是 amd64
.您还需要提供包裹的名称和描述。创建 Debian 软件包安装程序
cd tesseract
mkdir build
cd build
cmake .. -DBUILD_TRAINING_TOOLS=OFF
make
cpack -G DEB
这将生成一个 debian 包文件:tesseract-ocr_4.0.0_amd64_ubuntu_20.04.deb
安装包运行
dpkg -i tesseract-ocr_4.0.0_amd64_ubuntu_20.04.deb
会给出它需要的错误liblept5
我们可以按照以下顺序运行命令来正确安装sudo apt install liblept5
sudo dpkg -i tesseract-ocr_4.0.0_amd64_ubuntu_20.04.deb
sudo ldconfig
我们可以通过运行 tesseract --help
来检查 tesseract 是否安装正确。卸载软件包
下面将从系统中卸载包
sudo dpkg -r tesseract-ocr
关于ubuntu - 如何为 tesseract 创建 .deb 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68829524/