由于环境需要,要安装gcc-5和g+±5。可是使用命令:
sudo apt install gcc-5 g++-5
显示没有可用的软件包,无法安装。有可能是因为我的ubuntu版本太新了,我的是20.04,当然,也有可能是其他库的版本原因。所以,我们这里需要自己手动下载安装。
1 安装依赖
首先是安装一些依赖:
sudo apt-get install ncurses-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install build-essential
这里还有一个依赖项libisl15需要安装。最便捷的安装方式当然是:
pip install libisl15
或者:
sudo apt-get install libisl15
但是,在我这里两种方式均无法安装,因为都显示找不到安装源。解决办法就是,自己下载安装包进行安装。
Libisl15的所有linux系统安装包下载链接。其中,ubuntu系统下的libisl15_0.18-4_amd64.deb下载链接。下载好之后,在该文件所在目录下打开一个终端,执行命令:
sudo dpkg -i libisl15_0.18-4_amd64.deb
进行安装即可。
2 安装gcc和g++
各版本的gcc和g++安装包可以从这里下载。我这里要下载的是gcc-5,所以进入下图中间那个文件夹。
进去后可以看到里边有很多文件,我们需要下载的文件列表如下图所示(命名规则是相似的,需要不同版本的话就找对应版本即可):
总共有8个安装包(有些是依赖),需要自己一个个手动去选去下载,也没啥捷径了。下载好之后,将所有这些包放到一个文件夹下,然后在该目录下打开ia一个终端,执行如下命令即可:
sudo dpkg -i *.deb
3 gcc版本管理
使用命令ls /usr/bin/gcc* -ll
可以查看已安装的gcc版本,我这里的输出如下所示:
可以看到我这里现在有5,7,8,9这四个版本的gcc。其中绿色标注gcc-5是新生成的,说明前面的安装成功了。接下来,我们使用update-alternatives来管理gcc版本,要查看update-alternatives的命令帮助,可以输入:
update-alternatives --help
首先,使用如下命令为刚安装好的gcc 5增加可选项(此处应根据自己新安装的gcc版本来进行操作,最后的30表示优先级,数字越大优先级越高,随便设一个就行):
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 30
接下来,执行命令:
sudo update-alternatives --config gcc
来切换不同的gcc版本。可以看到,输出如下图所示:
比如我这里要切换为刚安装好的gcc-5,则键入1即可。要再次确认是否成功更换了版本号,可以执行命令:
gcc -v
会输出一大段内容,直接看最下面那一行输出:
gcc version 5.5.0 20171010 (Ubuntu 5.5.0-12ubuntu1)
切换成功!
4 g++版本管理
g++版本管理同上。执行命令:
ls /usr/bin/g++* -ll
可以查看已经安装好的g++版本,我这里有5,7,9三个:
同样,将刚安装好的g+±5添加到版本管理中:
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 30
然后,要切换g++版本的时候,就执行:
sudo update-alternatives --config g++
要查看当前g++版本,执行:
g++ -v