linux 环境下go+orc部署条件及安装步骤

本文讲述了在Linux环境下,遇到Go项目使用orc进行文字识别时因opencv包缺失引发的编译错误,详细介绍了如何更新系统、安装cmake、opencv、Leptonica和Tesseract,以及配置环境变量以解决编译问题的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux环境下使用orc 功能
下编译go 项目orc 文字识别时会报错

Package opencv was not found in the pkg-config search path.

Perhaps you should add the directory containing `opencv4.pc’

to the PKG_CONFIG_PATH environment variable

No package ‘opencv4’ found

这是因为使用gocv时每天安装opencv4无法找到opencv4.pc导致
在项目目录下先go get gocv.io/x/gocv

一、更新
1.sudo yum update
sudo yum upgrade
更新完可能会导致服务器系统时间不准确,需要手动修改。

二、
1.安装cmake opencv 4 要求 cmake 版本大于 3
tar zxvf cmake-3.9.2.tar.gz
cd cmake-3.9.2
yum install -y gcc
yum install -y gcc-c++
./configure
make
make install
ln -s /usr/local/bin/cmake /usr/bin

下载依赖
yum install build-essential git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
如果需要其他的功能也可以不安装,还需安装一些依赖,命令如下:
sudo apt-get install python-dev python-numpy python3-dev python3-numpy

sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

三、
1.下载并安装opencv
unzip opencv-4.8.1.zip
cd opencv-4.5.5
mkdir build
cd build

(opencv4 默认不生成 .pc 文件(导致无法使用 pkg-config 命令),**OPENCV_GENERATE_PKGCONFIG=ON **才会生成,因此需要开启)
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=On -D CMAKE_INSTALL_PREFIX=/usr/local …

上面这一步很慢
make -j40
make install

查找 opencv4.pc 所在位置

find ./ -name opencv4.pc
在/usr/lib/ 下新建pkgconfig文件夹
sudo cp ./unix-install/opencv4.pc /usr/lib/pkgconfig/

sudo vim /etc/ld.so.conf.d/opencv.conf(确保 /usr/local/lib64为 OpenCV 动态库所在的实际路径。 如果库存在,继续进行下一步操作。否则,需要安装 OpenCV 或确保库已正确安装。可通过ls /usr/local/lib64查看)
添加:/usr/local/lib64

sudo ldconfig
ln -s /usr/local/include/opencv4/opencv2 /usr/include

二、
1.测试 opencv 是否安装正常
pkg-config --cflags --libs opencv4

pkg-config --cflags opencv4 代表我们安装的头文件路径
pkg-config --libs opencv4 代表我们安装的库文件路径

opencv4安装成功,不用测试功能,因为图形界面

即可正常使用
三、
1.如果再次编辑go 项目提示:

github.com/otiai10/gosseract/v2

tessbridge.cpp:5:34: 致命错误:leptonica/allheaders.h:没有那个文件或目录
#include <leptonica/allheaders.h>

2.安装leptonica
tar zxvf leptonica-1.84.1.tar.gz leptonica-1.84.1
cd leptonica-1.84.1
./configure --prefix=/usr/local/leptonica
make
make install

配置环境变量
vi /etc/profile

添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/leptonica/lib/pkgconfig
export PKG_CONFIG_PATH
CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/leptonica/include/leptonica
export CPLUS_INCLUDE_PATH
C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/leptonica/include/leptonica
export C_INCLUDE_PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/leptonica/lib
export LD_LIBRARY_PATH
LIBRARY_PATH=$LIBRARY_PATH:/usr/local/leptonica/lib
export LIBRARY_PATH
LIBLEPT_HEADERSDIR=/usr/local/leptonica/include/leptonica
export LIBLEPT_HEADERSDIR
 
source /etc/profile

3.安装「tesseract」
yum search tesseract

#安装「tesseract.x86_64」
yum install tesseract.x86_64 tesseract-devel.x86_64 

#安装「tesseract-langpack-chi_sim.noarch」中文字库
yum install tesseract-langpack-chi_sim.noarch

#检查「tesseract」支持的语言
tesseract --list-langs

以上方法可解决go项目在linux 环境下编辑出错的问题

### DeepSeek与ORC集成的信息 DeepSeek 是一种假设的大规模搜索引擎或数据处理框架,在实际应用中可能涉及多种数据源和文件格式的支持。对于 ORC 文件格式的支持,通常涉及到读取、解析以及存储优化等方面。 #### 安装必要的依赖库 为了使 DeepSeek 支持 ORC 文件的操作,首先需要确保环境中已经安装了相应的开发包。如果遇到 `/usr/src/kernels/el7.linux/Makefile:1006` 错误提示无法生成 ORC 元数据,则表明缺少 `libelf-dev`, `libelf-devel` 或者 `elfutils-libelf-devel` 这样的基础库[^1]。可以通过以下命令来安装这些必需的软件包: ```bash sudo yum install elfutils-libelf-devel # 对于基于RPM的系统 # 或者 sudo apt-get update && sudo apt-get install libelf-dev # 对于Debian及其衍生发行版 ``` #### 下载并编译 Apache ORC 库 接着按照官方指南获取最新版本的 Apache ORC 源码,并完成本地构建过程。这一步骤可以参照提供的脚本执行[^2]: ```bash apt-get -y install build-essential cmake curl -sSLO https://dlcdn.apache.org/orc/orc-1.7.3/orc-1.7.3.tar.gz tar -zxf orc-1.7.3.tar.gz cd orc-1.7.3 mkdir build cd build cmake .. make install ``` #### 集成到 DeepSeek 中 一旦上述准备工作完毕之后,就可以考虑如何将 ORC 功能模块嵌入至 DeepSeek 的架构里去了。具体实现方式取决于 DeepSeek 自身的设计模式和技术栈选择。一般而言,会通过插件机制或是扩展接口的形式引入第三方支持能力。例如,在 Python 生态下可能会利用 PyOrc 来操作 ORC 数据;而在 Java 平台上则可以直接调用原生 API 实现更高效的交互性能。 #### 使用示例代码片段 下面给出一段简单的 Python 示例程序用于展示如何加载 ORC 文件中的内容(假设有合适的绑定可用): ```python from pyorc import Reader, Schema with open('example.orc', 'rb') as data: reader = Reader(data) schema = str(reader.schema).strip() print(f"Schema of the file is {schema}") batch_size = 1024 * 1024 rows = list(reader.read_batch(batch_size)) for row in rows: print(row) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值