Ubuntu 22.04 gcc降级及安装cuda 10.1

安装cuda的时候,要注意cuda和显卡的算力匹配问题,30系列的显卡只支持cuda11.x,所以要先确认自己的显卡能不能安装cuda10.x。

引言

ubuntu22.04支持cuda10.7以上的版本,而在一些情况下我们需要用到低级的cuda版本,本文以用ubuntu22.04安装cuda10.1为例。而在ubuntu中最主要的是gcc的变化,我们需要7.5+的gcc,而一般情况下ubuntu22.04只有gcc 11和gcc 12,本文首先教大家如何对gcc进行降级。

查看gcc版本,为gcc 11

gcc --version

在这里插入图片描述

gcc 降级

参考Ubuntu22.04安装CUDA10.1,感谢大佬

添加软件源

Ubuntu22.04 自带的软件源无法成功安装低版本的gcc,首先需要手动添加软件源

使用以下命令打开配置文件

sudo vim /etc/apt/sources.list

将以下源添加到文件末尾

deb http://dk.archive.ubuntu.com/ubuntu/ xenial main
deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe

添加完成后,使用ESC保持在命令行模式,然后输入:wq保存并退出

更新软件源

sudo apt update

此时可能出现“由于没有公钥,无法验证下列签名的错误”

错误:http://dk.archive.ubuntu.com/ubuntu xenial InRelease: 由于没有公钥,无法验证下列签名:
NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32

根据报错信息“NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32”导入对应公钥

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32

再次执行

sudo apt update

安装gcc-7

sudo apt-get install gcc-7

此时可能出现以下错误

没有可用的软件包 g++-7,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到

没有可用的软件包 gcc-7,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到

E: 软件包 gcc-7 没有可安装候选
E: 软件包 g++-7 没有可安装候选

这是因为ubuntu22.04只支持gcc11以上的版本,并且gcc7的软件源不在package中,因此再在source.list添加源,方法如下

sudo vim /etc/apt/sources.list 

再将源填写到最后一行

deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal main universe

再次安装 gcc-7

sudo apt-get install gcc-7

更换gcc版本

查看当前Ubuntu系统中的所有 gcc 编译器版本,

ls /usr/bin/gcc*

会看到gcc-7版本的编译器在里面
会看到gcc-7版本的编译器在里面

执行如下代码更换gcc优先级

sudo update-alternatives  --install /usr/bin/gcc gcc /usr/bin/gcc-7 2  # 将 gcc 11的优先级设为 1
sudo update-alternatives  --install /usr/bin/gcc gcc /usr/bin/gcc-11 1

再次查看gcc版本,检查是否替换到gcc-7。

gcc --version

降级成功
在这里插入图片描述

安装cuda 10.1

参考链接
在ubuntu安装cuda10.1和cudnn

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值