在Ubuntu20.04(原为cuda12.0, gcc9.几版本和g++9.几版本)下先安装cuda9.0后再配置gcc-5环境
因为自己对Linux相关操作不是很熟悉,所以因为之前的代码报错之后决定要安cuda9.0,于是先安装了cuda9.0。里面用到的一些链接,链接文件夹时直接去copy它的路径,就不那么容易错了。
今天运行程序之后发现gcc环境不太匹配cuda9.0,于是决定要切换为gcc5.0。
下面是在共享服务器的情况下只对自己账号下的gcc和g++环境进行改变的方法:
1.首先安装gcc-5.0。
前半部分参照这个:
Ubuntu20.4安装CUDA9.0,多版本CUDA切换
2.然后就是切换版本这里不一样了。
因为自己是在实验室的共享服务器下进行操作的,所以只能进行局部操作,不能影响服务器上其他用户的gcc和g++。因此,使用下面的命令。
这里假设用户名为andy。
(1)首先,创建本地目录和符号链接:
在 andy 用户的主目录下创建一个名为 bin 的目录,并在其中创建名为 gcc 和 g++ 的符号链接,将它们指向 gcc-5 和 g+±5。运行以下命令:
mkdir -p /home/andy/bin
ln -s /usr/bin/gcc-5 /home/andy/bin/gcc
ln -s /usr/bin/g++-5 /home/andy/bin/g++
(2)设置用户环境变量:
首先编辑 andy用户的 ~/.bashrc 文件,命令为:
vim ~/.bashrc
并将以下行添加到文件末尾:
export PATH="/home/andy/bin:$PATH"
然后,运行以下命令以重新加载 andy用户的配置文件:
source ~/.bashrc
(3)设置 andy用户的 gcc 和 g++ 的优先级:
为了仅影响 andy用户,使用以下命令设置andy 用户的 gcc 和 g++ 优先级:使用 sudo 命令以超级用户权限来运行 update-alternatives 命令。在命令前添加 sudo 并输入管理员密码。
sudo update-alternatives --install /usr/bin/gcc gcc /home/andy/bin/gcc 10
sudo update-alternatives --install /usr/bin/g++ g++ /home/andy/bin/g++ 10
然后,禁用系统默认的 gcc 和 g++ 版本:
sudo update-alternatives --skip-auto gcc
sudo update-alternatives --skip-auto g++
然后再运行如下指令看自己的gcc和g++版本是否已经修改成功:
gcc -v
g++ -v