Ubuntu系统OpenCV推理服务器配置记录

算法服务器配置记录

  • 前言
  • 一、阿里OSS安装
    • 1.安装CMake
    • 2.安装依赖
    • 3.安装SDK
    • 4.编译失败解决
  • 二、Ubuntu安装eigen3库
  • 三、Ubuntu安装最新OpenCV
  • 四、其他错误
    • 1.error while loading shared libraries
    • 2.nvcc No such fule or directory
  • 总结


前言

记录在配置OpenCV推理的算法服务器的各种环境和库遇到的问题和解决方案


一、阿里OSS安装

参考连接:阿里云OSS-C++安装

1.安装CMake

Ubuntu系统已经有,如果没有按照参考连接配置

2.安装依赖

将参考连接中

yum -y install libcurl-devel openssl-devel unzip

改为

sudo apt-get install libcurl4-openssl-dev

最新的curl和openssl库

3.安装SDK

将参考连接中

cmake ..

改为

cmake -DBUILD_SHARED_LIBS=ON ..

用来构建动态库(alibabacloud-oss-cpp-sdk.so)

4.编译失败解决

提示如下样式接口过期错误

....deprecated-declarations since openSSL 3.0 .....

原因是阿里在CMakeLists.txt中把警告都作为错误,可以简单删除"-Werror"来解决。

二、Ubuntu安装eigen3库

sudo apt-get install libeigen3-dev

三、Ubuntu安装最新OpenCV

参考连接
YOLOX推理系列3-支持NVIDIA-GPU的OpenCV编译

四、其他错误

1.error while loading shared libraries

错误原因:一般现象是在系统中已经安装了共享库,但是依旧提示找不到。
解决办法:Ubuntu系统的共享库一般安装在/usr/local/lib,使用vim或其他编辑工具打开

vim /etc/ld.so.conf

在末尾添加

/usr/local/lib

保存退出再执行

ldconfig

即可

2.nvcc No such fule or directory

错误原因:系统找不到cuda路径
解决办法:

sudo vim ~/.bashrc

在末尾添加

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

执行命令使路径生效

source ~/.bashrc

然后验证

nvcc -V

总结

待续。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/743896.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20240313金融读报:粮食产能提升行动方案与金融创新实践,聚焦科技创新链产业链融合及国际金融中心联动发展

1、新一轮千亿斤粮食产能提升行动方案(2024-2030年):扎实推进藏粮于地、藏粮于技,落实分品种增产任务和分区域增产布局,谋划实施高标准农田建设、种业振兴等支撑性重大工程(乡村振兴着力点&…

【EDK II】作为UEFI的实现,EDK II 的架构是什么样的

目录 前言 EDK II 架构 配置文件 结语 前言 基本输入输出系统 (Basic Input Output System, BIOS) 最早由 IBM(International Business Machines Corporation) 公司于1981年提出并开发,后来成为个人计算机(PC)的标准固件接口。但受限于传统BIOS (Le…

Linux 学习笔记(15)

十五、 配置文件 1 、配置文件介绍: 每个 Linux 程序都是一个可执行文件,它含有操作码列表,CPU 将执行这些操作码来完成特定的操作。 例如,ls 命令是由 /bin/ls 文件提供的,该文件含有机器指令的列表,在…

MySQL的用户管理以及权限设置

用户管理 账户管理 我们在数据库里面创建用户,修改用户,删除用户,本质上就是对mysql数据库下的user表进行增删查改,用户的所有信息都存在这张表里,我们想要创建用户可以往user表insert,删除用户可以delet…

AcWing 4655. 重新排序(差分,排序,贪心)

给定一个数组 A A A 和一些查询 L i , R i L_i,R_i Li​,Ri​,求数组中第 L i L_i Li​ 至第 R i R_i Ri​ 个元素之和。 小蓝觉得这个问题很无聊,于是他想重新排列一下数组,使得最终每个查询结果的和尽可能地大。 小蓝想知道相比原数组…

【Java基础概述-10】IO流、字节流、字符流、缓冲流、转换流、序列化、打印流、Properties属性集对象

目录 1、IO流概述 2、字节流的使用 2.1、FileInputStream字节输入流 2.1.1、读取方式一 2.1.2、读取方式二 2.1.3、字节流读取数据如何避免中文乱码 2.2、OutputStream字节输出流 2.3、案例:复制粘贴小案例 3、字符流 3.1、FileReader字符输入流 3.1.1、读…

常见HTTP状态码分类

常见HTTP状态码分类: 1xx(信息性状态码): 100 Continue:客户端可以继续发送请求的剩余部分。101 Switching Protocols:服务器已同意切换到另一种协议。 2xx(成功状态码)&#xff…

打卡学习kubernetes——kubernetes架构原理

接上一篇的内容,除了核心组件,还有一些推荐的Add-ons: kube-dns 负责为整个集群提供DNS服务Ingress Controller 为服务提供外网入口Heapster 提供资源监控(没用过这个,但是用过grafana,很方便&#xf…

MySQL的事务隔离是如何实现的?

目录 从一个例子说起 快照读和当前读 事务的启动时机和读视图生成的时刻 MVCC 隐藏字段 Undo Log回滚日志 Read View - 读视图 可重复读(RC)隔离级别下的MVCC 读提交(RR)隔离级别下的MCC 关于MVCC的一些疑问 1.为什么需要 MVCC ?如果没有 MVCC 会怎样&am…

ov多域名SSL数字证书1200元一年送一月

随着互联网的发展,不论是个人用户还是企事业单位都不止有一个网站,为了保护网站安全,就需要为网站安装SSL证书,而SSL证书中的通配符SSL证书和多域名SSL证书都可以同时保护多个域名站点。其中,多域名SSL证书可以同时保护…

POS 之 验证者如何才能提议区块

验证者提议区块 验证者帐户提议区块。 验证者帐户由节点运营商(可以是AWS等待云服务商)管理,节点运营商运行验证者软件作为其执行和共识客户端的一部分,并且已经向存款合约中存入了至少 32 个以太币 然而,每个验证者只是偶尔负责提议一个区块…

jvm题库详解

1、JVM内存模型 注意:这个是基于jdk1.8之前的虚拟机,在jdk1.8后 已经没有方法区,一并合并到堆中的元空间了 JVM内存区域总共分为两种类型 线程私有区域:程序计数器、本地方法栈和虚拟机栈 线程共享区域:堆&#xff08…

android MMKV数据持久化缓存集合

前言 最近在使用mmkv缓存的时候 发现没有集合缓存 非常不方便 自己写一个方法 MMKV public class MmkvUtils {private MmkvUtils() {throw new UnsupportedOperationException("u cant instantiate me...");}public static void init() {MMKV.initialize(LeoUtils…

脚本.py文件转.exe文件遇见的问题,打开exe文件出现弹窗: No module named ‘xxx‘

目录 1 问题2 问题分析3 解决过程3.1 确保Pillow库存在3.2 迷惑阶段3.3 解决问题 4 希望大佬解答 1 问题 今天做了一个使用Python写的脚本文件.py,打算把它转换成.exe文件。点击生成的exe文件时,出现了如下弹窗。 2 问题分析 根据错误描述&#xff1…

国际黄金在哪里买?

国际黄金可以在以下几个主要的市场和渠道进行购买: 1. 黄金交易所:国际上有多个黄金交易所,其中最知名的是伦敦金属交易所(London Bullion Market Association,简称LBMA)。LBMA是全球最大的黄金交易市场&am…

Arrays --Java学习笔记

Arrays 用来操作数组的一个工具类 Arrays类提供的常见方法: 代码演示: import java.util.Arrays; import java.util.function.IntToDoubleFunction; import java.util.function.IntUnaryOperator;public class Arrays类 {public static void main(Str…

[JAVAEE]—进程和多线程的认识

文章目录 什么是线程什么是进程进程的组成什么是pcb 进程概括线程线程与进程的关系线程的特点 创建线程创建线程方法创建线程的第二种方法对比 其他的方式匿名内部类创建线程匿名内部类创建Runable的子类lambda表达式创建一个线程 多线程的优势 什么是线程 什么是进程 首先想…

设计模式 — — 前端

常见的设计模式 单例模式工厂模式策略模式代理模式观察者模式… 单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点。实现的方法为先判断实例存在与否,如果存在则直接返回,如果不存在就创建了再返回,这就确保了一…

扫雷游戏 --- C语言实现

扫雷游戏 test.c — 与游戏相关的逻辑测试 game.c — 与游戏相关的函数实现 game.h — 与游戏相关的函数的声明 //test.c#define _CRT_SECURE_NO_WARNINGS 1#include "game.h"void menu(){printf("******************************\n");printf("******…