CUDA错误删除

CUDA、CUDNN安装的心酸史


作者:elfin  资料来源: 文内



1、简诉

​ 基于ubuntu18.04,Driver Version 440.33.01;cuda10.2、cudnn8.0.3、GPU:1650的基础环境安装TensorRT7.2.2.3,安装好之后,在使用过程中报错,而项目在2080TI的另一环境中测试通过,通过代码调试、错误定位,最后定位到libcublas有毛病,当时年轻,不懂时,查看cuda版本与Driver Version的对应情况,没有什么问题,Driver Version满足>=440.33.01,一般使用它不会报错;另一方面TensorRT较新,网上有出现这种情况,且有将TensorRT7.2转换为TensorRT7.1解决的!

​ 在这种背景下,我准备卸载TensorRT7.2.2.3,基于NVIDIA官网卸载命令,不小心删除了全家桶!切记不要随意使用sudo apt-get autoremove。虽然按理说不应该删除CUDA,但是我就遇到这么秀,看见cuda被删除,直接傻眼。

​ 既然被删除了那就安装吧……

​ 首先选择DEB安装,结果网络波动太大,导致安装的cuda没有include文件夹,这我找谁去说理啊!那就删除重安吧,结果这个直接删CUDA文件夹的骚操作害苦了我,后面不管是DEB还是RUN文件都不能安装,下面是解决问题的过程记录!

Top -- Bottom


2、ERROR

安装报错如下:

安装cuda10.2时显示/tmp/apt-dpkg-install-eBJpT5/25-libcublas-dev_10.2.2.89-1_amd64.deb没有安装,所以手动安装,报错为:

dpkg: 错误: 无法访问归档 '/tmp/apt-dpkg-install-eBJpT5/25-libcublas-dev_10.2.2.89-1_amd64.deb': 没有那个文件或目录

cuda 已经是最新版 (10.2.89-1)。
您也许需要运行“apt --fix-broken install”来修正上面的错误。
下列软件包有未满足的依赖关系:
 cuda-libraries-dev-10-2 : 依赖: libcublas-dev (>= 10.2.2.89) 但是它将不会被安装
                           依赖: cuda-misc-headers-10-2 (>= 10.2.89) 但是它将不会被安装
 cuda-nvcc-10-2 : 依赖: cuda-misc-headers-10-2 (>= 10.2.89) 但是它将不会被安装
 cuda-samples-10-2 : 依赖: libcublas-dev (>= 10.2.2.89) 但是它将不会被安装
 cuda-visual-tools-10-2 : 依赖: libcublas-dev (>= 10.2.2.89) 但是它将不会被安装
E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。

此时我的/usr/local下是没有cuda与cuda-10.2的,这里报错依赖有问题。在网上找了很多方法,都不行,这里我建议你尝试以下措施:

  • 缺什么安装什么

    这个方法我没有测试,你可以实验将libcublas-dev这些包安装一下在安装cuda。

  • 删除未被删除的指令

    这里我首先查询了我安装的cuda包:

    $ sudo dpkg -l | grep cuda
    

    在查询的列表中可以看到很多cuda相关的包,特别是很多版本为10.2.89-1,我选择将这些10.2.89-1的包全部删除:

    $ sudo dpkg -P <要删除的包>
    

    在删除的过程中,可能会遇到此包被xxx依赖,此时先删除依赖它的包!直到删除完全!

    要注意不要误删除cuda-drivers等其他版本的包!

    删除完成之后,即可安装CUDA10.2!

Top -- Bottom


3、安装CUDA10.2报错libcublas为安装

报错信息如下:

ubuntu 18.04 Autoware 依赖: libcublas-dev (>= 10.2.2.89) 但是它将不会被安装

下列软件包有未满足的依赖关系:
 cuda-libraries-dev-10-2 : 依赖: libcublas-dev (>= 10.2.2.89) 但是它将不会被安装
 cuda-samples-10-2 : 依赖: libcublas-dev (>= 10.2.2.89) 但是它将不会被安装
 cuda-visual-tools-10-2 : 依赖: libcublas-dev (>= 10.2.2.89) 但是它将不会被安装
E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。
ERROR: the following rosdeps failed to install
  apt: command [sudo -H apt-get install -y ros-melodic-grid-map-visualization] failed

​ 看到此信息,我首先想到使用apt-get安装,为了保险,验证合理性,我百度了一下,还真有遇到此问题的大佬。

​ (报错信息复制于大佬博客,我的错误应该是一样的!)

​ 基于博客的方法展示步骤如下:

  • 安装包

    $ sudo apt-get install libculas-dev
    

    报错:dpkg返回错误代码:

    E: Sub-process /usr/bin/dpkg returned an error code (1)

  • 解决方法(来源于博客)

    $ sudo mv /var/lib/dpkg/info/ /var/lib/dpkg/info_old/
    $ udo mkdir /var/lib/dpkg/info/
    $ sudo apt-get update
    # 下面这一步我报错了,镜像源有些没有get到,可能是网络的原因,不过不影响后面的操作
    $ sudo apt-get ugrade
    

    再安装

    $ sudo apt-get install libculas-dev
    

Top -- Bottom


4、CUDA、CUDNN安装

基于第二章、第三章,使用sudo apt-get -y install cuda成功安装,没有包任何奇怪的东西!

使用nvidia-smi测试通过,使用nvcc -V报错,进入cuda-10.2所在目录查看,发现没有cuda软连接:

$ cd /usr/local/
$ sudo ln -s cuda-10.2/ cuda/

创建软连接后,nvcc -V命令可以正常使用,下面测试是否正常安装!

$ cd /usr/local/cuda/samples/1_Utilities/deviceQuery
$ sudo make
$ ./deviceQuery

正常应该在最后打印Result = PASS
实际我这里是未通过,这很难受了,删掉重新安装吧!发现在bin下没有uninstall相关文件,裂开了!,使用如下命令删除:

$ sudo apt-get autoremove --purge cuda
$ sudo dpkg -l | grep cuda
# 此命令显示还有未卸载干净的,继续手动卸载!此时发现之前一直向保留的440.33.01那个包早没了,好吧之前就不该保留!
$ sudo dpkg -P ···

Top -- Bottom


完!

posted @ 2021-01-09 11:47  巴蜀秀才  阅读(1051)  评论(0编辑  收藏  举报