gcc管理
- 20.04安装gcc和g++
- 多个cuda版本切换
20.04安装gcc和g++
由于20.04的默认gcc版本为gcc-9,由于gcc-4.8最高支持ubuntu16.04的版本,若需要对gcc版本进行降级安装,则首先需要配置源文件。使ubuntu20.04可以寻找到gcc-4.8的安装包。
更改源文件的配置如下:
1.以root权限打开Ubuntu20.04的源文件sources.list进行编辑,在末尾添加ubuntu16.04的源路径。
sudo gedit /etc/apt/sources.list
在文本末尾加上如下命令
deb http://dk.archive.ubuntu.com/ubuntu/ xenial main
deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe
更新源文件
sudo apt-get update
2.安装gcc和g++安装包
#下载gcc4.8,g++4.8
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
sudo apt-get install gcc-4.8-multilib
sudo apt-get install g++-4.8-multilib
sudo apt-get install gcc-4.8-doc
#通过命令查询本机gcc已安装的版本
ls /usr/bin/gcc*
发现此时已经包含了两个版本的gcc和g++
3.多版本切换方式的建立
建立每个gcc和g++版本对应的索引
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 50
输入以下命令行即可通过索引序号去自动配置当前需要使用的gcc版本
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
多个cuda版本切换
1.当前系统已经配置成功了cuda11.1,由于项目需要使用cuda8来进行,因此首先下载cuda8的安装包,在命令行进行安装。
You are attempting to install on an unsupported configuration. Do you wish to continue?
(y)es/(n)o/(q)uit: y #不用管,选y即可
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.00?
(y)es/(n)o/(q)uit: n #不安装显卡驱动,选n
Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: y #安装工具包,y
Enter Toolkit Location
[ default is /usr/local/cuda-9.0 ]: #cuda安装地址,一般直接默认路径回车即可
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: n #这是问你是否需要创建链接到该cuda的软链接,如果你需要安装好后就使用这个版本的cuda,那就选y,否则选n即可,软链接可以等安装好之后再添加,这里选择n
Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: y #安装样例,y
Enter CUDA Samples Location
[ default is /root ]: #样例安装地址默认即可
该步骤可能报错
Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...
Error: cannot find Toolkit in /usr/local/cuda-8.0
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installation Failed
Samples: Cannot find Toolkit in /usr/local/cuda-8.0
解决方法:
(1)首先输入缺失的依赖项
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
(2)输入下述命令时注意,此时的目录只存在当前需要安装的cuda的run文件,防止出错
bash ./cuda*.run --tar mxvf
sudo cp InstallUtils.pm /usr/lib/x86_64-linux-gnu/perl-base
export $PERL5LIB
(3)重新运行安装文件,完成安装
sudo ./cuda_8.0.44_linux.run
2.安装cudnncudnn下载地址 下载后是一个压缩包,将其解压(解压的文件夹名称默认是cuda),然后在解压后的目录下打开一个终端,依次执行如下命令即可。
sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64
sudo chmod a+r /usr/local/cuda-8.0/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn*
3.将所有的bashrc中的cuda环境变量指向cuda文件夹,而不是单个版本的cuda-8.0
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
4.当需要切换cuda版本时,只需要输入下述指令即可
sudo rm -rf /usr/local/cuda #删除之前生成的软连接
sudo ln -s /usr/local/cuda-8.0 /usr/local/cuda #生成新的软连接