Nvidia-smi 470 +cuda11.2+cudnn8.1.0+darknet_ros

Nvidia-smi 470 安装cuda11.2+cudnn8.1.0后编译darknet_ros报错

基于环境:
系统:ubuntu 18.04
ubuntu内核:5.4.0-91-generic
cuda11.2 + cudnn8.1.0

查看以上信息的指令见下图:
在这里插入图片描述

问题描述(安装完cuda和cudnn后错误信息如下):
nvcc fatal : Unsupported gpu architecture 'compute_30' nvcc fatal : Unsupported gpu architecture 'compute_30' nvcc fatal : Unsupported gpu architecture 'compute_30' CMake Error at darknet_ros_lib_generated_deconvolutional_kernels.cu.o.cmake:219 (message): Error generating

src/darknet_ros_lib_generated_col2im_kernels.cu.o] Error 1 CMakeFiles/Makefile2:2669: recipe for target 'darknet_ros/darknet_ros/CMakeFiles/darknet_ros_lib.dir/all' failed make[1]: *** [darknet_ros/darknet_ros/CMakeFiles/darknet_ros_lib.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j8 -l8" failed

如下图

在这里插入图片描述
在这里插入图片描述
根据错误信息提示,可大概猜测错误信息在Cmakeist.txt中,同时根据blog提示,参考博客链接:

https://blog.csdn.net/znevegiveup1/article/details/114462660

compute_30已经被cuda11放弃使用了,将这一行对应内容注释掉即可:见下图

在这里插入图片描述
重新编译就可以通过了!!!

在后续的使用中,有家人遇到报错信息如下:

/usr/local/include/opencv4/opencv2/core/cvdef.h:728:4: error: #error “OpenCV 4.x+ requires enabled C++11 support”
error “OpenCV 4.x+ requires enabled C++11 support”
^~~~~
/usr/local/include/opencv4/opencv2/core/cvdef.h:734:10: fatal error: array: 没有那个文件或目录
#include
^~~~~~~
compilation terminated.
In file included from /usr/local/include/opencv4/opencv2/core/types_c.h:84:0,
from /usr/local/include/opencv4/opencv2/core/core_c.h:48,
from /usr/local/include/opencv4/opencv2/highgui/highgui_c.h:45,
from /home/zss/new_space/manipulator/ws_darknetros/src/darknet_ros/darknet/include/darknet.h:25,
from /home/zss/new_space/manipulator/ws_darknetros/src/darknet_ros/darknet/src/cuda.h:4,
from /home/zss/new_space/manipulator/ws_darknetros/src/darknet_ros/darknet/src/local_layer.h:4,
from /home/zss/new_space/manipulator/ws_darknetros/src/darknet_ros/darknet/src/local_layer.c:1:
/usr/local/include/opencv4/opencv2/core/cvdef.h:728:4: error: #error “OpenCV 4.x+ requires enabled C++11 support"
error “OpenCV 4.x+ requires enabled C++11 support”
^~~~~
/usr/local/include/opencv4/opencv2/core/cvdef.h:734:10: fatal error: array: 没有那个文件或目录
#include

根据报错信息大致可以知道:
在编译过程中使用了OpenCV.4X 版本的,查找许多教程都没解决,后来说是OpenCV版本过高造成的,但是在终端使用命令查看发现:
pkg-config --modversion opencv
发现是3.X版本的OpenCV,于是乎在想是不是系统拥有两个版本的OpenCV,在主目录直接搜索OpenCV,发现确实系统安装了两个版本:3.X 和 4.X。而程序编译时默认使用了4.X版本。

于是搜索了如何“在编译情况下指定使用的OpenCV版本”。

按照教程提示成功解决问题:

把“CMakeLists.txt”文件中原来的“OpenCV REQUIRED”统一替换成“OpenCV 3 REQUIRED”

原文链接如下

https://blog.csdn.net/qq_42731705/article/details/123520839

另外提示如果桌面分辨率异常(ubuntu桌面图标突然变大)****,千万不可贸然修改
(不可轻易使用:sudo gedit /etc/default/grub 调节分辨率)

否则会使显卡失效果

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值