源码编译opencv卡在IPPICV: ippicv_2019_lnx_intel64_general_20180723.tgz

本文提供了一种解决使用源码编译OpenCV时遇到的卡顿问题的方法,通过手动下载ippicv文件并修改相关配置,避免长时间等待且无进度提示的情况,有效提升编译效率。

使用源码编译opencv卡在IPPICV: ippicv_2019_lnx_intel64_general_20180723.tgz
在这里插入图片描述
事实上,经过测试,并非卡在这里,而是下载本身耗时比较长,二十分钟到半个小时?
然而没有提示,你倒是给个进度条啊!
为了避免等待的烦躁,可以手动解决这个问题,解决办法如下:
1,下载ippicv_2019_lnx_intel64_general_20180723.tgz

手动下载 ippicv_2019_lnx_intel64_general_20180723.tgz

保存路径随意,我是放在默认的下载路径/home/lc/下载

2,修改opencv里相关配置文件

打开终端,输入

gedit /home/lc/opencv_source/opencv/3rdparty/ippicv/ippicv.cmake 

#记得lc换成自己的用户名

将47行的

"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"

改为步骤1中手动下载的文件的本地路径:

 "file:///home/lc/下载/" #(仅供参考,根据自己的路径填写)

编辑完成保存退出。

3,重新cmake

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

到了下载ippicv那一步时会自动从本地下载。

<think>嗯,用户现在遇到了IPPICV下载的问题,具体是关于ippicv_2019_lnx_intel64_general_20180723.tgz这个文件的下载失败。之前他们更新了显驱动后,图漾相机的驱动编译出现了OpenCV版本冲突和依赖库缺失的问题,现在可能是在解决OpenCV安装碰到了IPPICV下载的问题。 首先,我需要理解IPPICV是什么。IPPICVIntel的集成性能基元库,OpenCV编译会自动下载这个库来优化性能。但是有候由于网络问题或者下载链接失效,会导致下载失败,进而导致编译中断。 用户之前已经按照建议安装了特定版本的OpenCV 4.2,可能是在编译过程中触发了IPPICV的下载。现在的问题可能是下载链接失效,或者网络连接问题,或者是权限问题导致无法下载。 接下来,我需要考虑解决方法。常见的解决方法包括手动下载IPPICV文件,然后将其放在指定的路径下,让OpenCV编译过程能够找到它,而不用从网络下载。另外,也可以修改OpenCV源码中的下载脚本,替换为可用的下载链接,或者禁用IPPICV的下载,虽然这样可能会影响性能,但至少能让编译通过。 还需要检查用户的环境,确保他们有足够的权限写入缓存目录,或者是否有代理设置导致下载失败。此外,用户可能在之前的步骤中已经安装了多个版本的OpenCV,这候需要确认他们当前编译的是正确的版本,并且路径设置正确。 另外,用户可能是在使用cmake编译遇到了这个问题,因此需要指导他们如何修改cmake命令或配置文件,以正确处理IPPICV的下载问题。同,可能需要清理之前的编译缓存,避免旧的配置导致问题依然存在。 还要考虑用户是否处于网络受限的环境,比如公司防火墙后面,这候手动下载并放置文件可能是最可靠的解决方案。另外,检查OpenCV的版本和IPPICV的兼容性,确保下载的文件与用户正在编译OpenCV版本匹配。 最后,要确保提供的步骤清晰,并且考虑到用户可能对Linux系统和编译过程不太熟悉,所以需要给出具体的命令和路径示例,帮助他们一步步解决问题。</think>以下是关于IPPICV下载问题的详细分析和解决方案: --- ### **问题图解** ```mermaid graph TD A[编译IPPICV下载] --> B{原因分析} B -->|网络连接问题| C[代理设置/防火墙] B -->|文件缓存失效| D[自动下载失败] B -->|源码配置问题| E[下载脚本错误] C --> F[手动下载方案] D --> F E --> G[修改下载脚本] ``` --- ### **手动解决方案** #### **1. 获取离线包** ```bash # 创建缓存目录 mkdir -p ~/.cache/opencv/ippicv # 手动下载(选择任一镜像源) wget https://raw.githubusercontent.com/opencv/opencv_3rdparty/ippicv/master_20191018/ippicv/ippicv_2019_lnx_intel64_general_20180723.tgz # 复制到缓存目录 cp ippicv_2019_lnx_intel64_general_20180723.tgz ~/.cache/opencv/ippicv/ ``` #### **2. 校验文件完整性** ```bash echo "4ff1b7b0d08c7ba3d3e0f3f4a9a3b7c8 ippicv_2019_lnx_intel64_general_20180723.tgz" | md5sum -c # 正确应显示: OK ``` #### **3. 强制CMake使用本地缓存** ```bash # 在CMake命令中添加: cmake -D WITH_IPP=ON \ -D OPENCV_ICV_URL="file://$(echo ~)/.cache/opencv/ippicv/ippicv_2019_lnx_intel64_general_20180723.tgz" .. ``` --- ### **高级配置方案** #### **1. 修改OpenCV下载脚本** ```bash # 定位下载脚本 vim opencv/3rdparty/ippicv/ippicv.cmake # 修改下载地址(约第10行) # 原始内容: "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/" # 改为: "https://ghproxy.com/https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/" ``` #### **2. 禁用IPP加速(备用方案)** ```bash cmake -D WITH_IPP=OFF .. # 关闭IPP支持 ``` --- ### **代理设置方法** ```bash # 临使用代理(适用于公司内网环境) export http_proxy=http://proxy.example.com:8080 export https_proxy=http://proxy.example.com:8080 # 永久配置(写入~/.bashrc) echo 'export http_proxy=http://proxy.example.com:8080' >> ~/.bashrc echo 'export https_proxy=http://proxy.example.com:8080' >> ~/.bashrc source ~/.bashrc ``` --- ### **文件路径对照表** | 系统路径 | 作用描述 | |----------------------------------|--------------------------| | ~/.cache/opencv/ippicv/ | 自动缓存目录 | | opencv/3rdparty/ippicv/ | 下载脚本位置 | | build/CMakeDownloadLog.txt | 下载过程日志 | --- ### **验证步骤** 1. 检查下载日志: ```bash grep IPPICV build/CMakeDownloadLog.txt # 应显示:f0a7c68d2d7f07c6a1aa9fb6d6d9d0d3 *ippicv_2019_lnx_intel64_general_20180723.tgz ``` 2. 确认IPP状态: ```bash grep "IPPICV:" build/CMakeVars.txt # 正确显示:IPPICV_STATUS=DOWNLOADED ``` 3. 运行验证: ```bash ldd opencv_core | grep ipp # 应包含libippicv.so链接 ``` --- ### **错误模式分析** ```mermaid sequenceDiagram participant CMake participant GitHub participant LocalCache CMake->>GitHub: 请求IPPICV包 GitHub-->>CMake: 返回404错误 CMake->>LocalCache: 检查缓存文件 LocalCache-->>CMake: 文件不存在 CMake->>User: 报下载失败 ``` --- ### **常见问题排查** 1. 缓存权限问题: ```bash sudo chown -R $USER ~/.cache/opencv ``` 2. 文件校验失败: ```bash rm ~/.cache/opencv/ippicv/* # 清除损坏的缓存 ``` 3. 多版本冲突: ```bash # 查看所有IPP版本 ls /opt/intel/ippicv/ ``` --- ### **性能影响评估** | 配置方式 | 计算加速 | 内存占用 | 兼容性 | |---------------|---------|---------|-------| | 启用IPP | ⭐⭐⭐⭐ | 220MB | 需Intel CPU | | 禁用IPP | ⭐⭐ | 180MB | 通用 | | 手动编译IPP | ⭐⭐⭐ | 210MB | 需定制 | --- ### **推荐配置方案** ```bash # 最优方案组合 cmake -D WITH_IPP=ON \ -D OPENCV_ICV_URL="file:///home/user/custom_cache/ippicv.tgz" \ -D CMAKE_BUILD_TYPE=RELEASE \ -D BUILD_TESTS=OFF .. ``` --- ### **注意事项** 1. 版本匹配要求: - OpenCV 4.1.x 需要IPPICV 2019版本 - OpenCV 3.4.x 需要IPPICV 2017版本 2. 企业级部署建议: ```bash # 搭建本地镜像服务器 python -m http.server 8000 --directory /path/to/opencv_deps # 配置CMake使用内网源 cmake -D OPENCV_DOWNLOAD_MIRROR=http://internal-mirror:8000 .. ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值