转载一篇大佬的文章,解决了困扰我多天的环境问题,原文链接:
https://debug.fanzheng.org/post/install-gcc-4.9.2-on-debian-9.html
Debian 9自带的是gcc 6.3.0,现有需求要安装gcc 4.9.2,这一版本是Debian 8源中的版本。
采取的方案是下载安装Debian 8的gcc和g++包及其依赖包,然后使用update-alternatives
管理gcc版本。
安装前需要确保安装了Debian 9的gcc 6.3.0:sudo apt install gcc g++
。
首先下载安装必要的package(有一些依赖gcc 6.3.0已经有了,版本要求已经达到,就不装了):
mkdir -p $MYWORK/library/deb/
cd $MYWORK/library/deb/
wget http://mirrors.tuna.tsinghua.edu.cn/debian-security/pool/updates/main/g/gcc-4.9/gcc-4.9_4.9.2-10+deb8u2_amd64.deb
wget http://mirrors.tuna.tsinghua.edu.cn/debian-security/pool/updates/main/g/gcc-4.9/cpp-4.9_4.9.2-10+deb8u2_amd64.deb
wget http://mirrors.tuna.tsinghua.edu.cn/debian-security/pool/updates/main/g/gcc-4.9/gcc-4.9-base_4.9.2-10+deb8u2_amd64.deb
wget http://mirrors.tuna.tsinghua.edu.cn/debian-security/pool/updates/main/g/gcc-4.9/libgcc-4.9-dev_4.9.2-10+deb8u2_amd64.deb
wget http://mirrors.tuna.tsinghua.edu.cn/debian-security/pool/updates/main/g/gcc-4.9/libstdc++-4.9-dev_4.9.2-10+deb8u2_amd64.deb
wget http://mirrors.tuna.tsinghua.edu.cn/debian-security/pool/updates/main/g/gcc-4.9/libasan1_4.9.2-10+deb8u2_amd64.deb
wget http://mirrors.tuna.tsinghua.edu.cn/debian-security/pool/updates/main/g/gcc-4.9/g++-4.9_4.9.2-10+deb8u2_amd64.deb
wget http://mirrors.tuna.tsinghua.edu.cn/debian/pool/main/c/cloog/libcloog-isl4_0.18.2-1+b2_amd64.deb
wget http://mirrors.tuna.tsinghua.edu.cn/debian/pool/main/i/isl/libisl10_0.12.2-2_amd64.deb
sudo dpkg -i *.deb
接着,设置update-alternatives
以管理gcc版本:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 10 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 20 --slave /usr/bin/g++ g++ /usr/bin/g++-6
其他的/usr/bin/cpp
由于一般不会有问题,就不设置了。
如果需要切换版本,需要执行sudo update-alternatives --config gcc
,然后在里面选。