Ubuntu22.04安装CUDA10.1

Ubuntu22.04安装CUDA10.1

  • 前言
  • gcc降级
    • 添加软件源
    • 更新软件源
  • 安装gcc-7
    • 更换gcc版本
  • 安装CUDA10.1

前言

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

参考链接:gcc降级、Ubuntu22.04安装gcc7、apt-get update出现NO_PUBKEY错误的解决方法,感谢以上大佬们的帮助。

gcc降级

添加软件源

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

更新软件源

sudo apt update

此时可能出现如下错误:

error: http://security.ubuntu.com trusty-security Release: 
The following signatures couldn't be verified because the public key is not 
available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32

这时我们将key进行替换:

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

再执行:

sudo apt update

安装gcc-7

sudo apt-get install gcc-7

此时可能出现如下错误:

shimo@shimo-X542UN:~$ sudo apt-get install gcc-7 g++-7
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package g++-7 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Package gcc-7 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'gcc-7' has no installation candidate
E: Package 'g++-7' has no installation candidate

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

sudo vim /etc/apt/sources.list 

再将源填写到最后一行:

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

最后执行安装gcc7

sudo apt-get install gcc-7

更换gcc版本

ls /usr/bin/gcc*

查看当前Ubuntu系统中的所有 gcc 编译器版本,我们会发现刚才安装的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 --version

检查是否替换到gcc-7。

安装CUDA10.1

链接:cuda10.1版本
选择对应版本进行安装,可以参考Linux下安装cuda的教程,比较简单这里不再展开介绍。

你可能感兴趣的:(ubuntu,c++)