【OpenCV】解决ippicv下载问题,离线:ippicv_2019_lnx_intel64_general_20180723.tgz

当使用CMake配置OpenCV时,遇到IPPICV组件下载失败的问题,本文提供了解决方案,包括手动下载ippicv_2019_lnx_intel64_general_20180723.tgz文件并修改配置文件,以避免因网络问题导致的下载错误。

cmake

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

执行上面的命令时,会下载IPPICV: Download: ippicv_2019_lnx_intel64_general_20180723.tgz

在运行时到这一行,下载不动,出现无法下载的情况,有可能是因为墙的原因无法下载,因此我们手动把这个文件下载下来再重新运行。

需要手动下载  ippicv_2019_lnx_intel64_general_20180723.tgz

解决办法:

  • https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20180723/ippicv
    可放在默认的下载路径 ~/DownLoad/

  • 修改opencv里相关配置文件

sudo wget   https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20180723/ippicv
#保存在一个路径里面,这个路径自定义即可。
vim ~/opencv/3rdparty/ippicv/ippicv.cmake #就是这个文件的路径
 
# 将47行的
 
     "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}ippicv/"
 
# 改为步骤1中手动下载的文件的本地路径(也就是将网络下载的模式改为本地文件下载的模式):
 
    "file:~/Downloads/" #(仅供参考,根据自己的路径填写)

  • 编辑完成保存退出。

  • 重新cmake

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

参考:
https://blog.youkuaiyun.com/ordream/article/details/84311697
https://blog.youkuaiyun.com/xiaomo_233/article/details/89607297

<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 .. ```
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值