Ubuntu安装老版本gcc/g++

因软件版本依赖,需要在Ubuntu 21.10系统中安装gcc/g++ 4.8.5,直接运行

sudo apt install gcc-4.8

提示找不到套件,因此只能另寻办法。

网上提供了下载gcc/g++源码自行编译安装的方式,简单尝试后发现其依赖关系复杂,且耗时巨大,因此放弃。

搜索发现 通过deb包安装老版本的GCC_水题收集者-CSDN博客_deb安装gcc 一文中提供了新的思路,因此尝试进行。

访问 Index of /ubuntu/pool/universe/g/gcc-4.8 页面,下载与上文中对应的几个deb包,但在安装过程中又提示需要其他依赖,因此按照提示继续下载,最终需要的包为:

libasan0_4.8.5-4ubuntu9_amd64.deb
libgcc-4.8-dev_4.8.5-4ubuntu9_amd64.deb
libstdc++-4.8-dev_4.8.5-4ubuntu9_amd64.deb
cpp-4.8_4.8.5-4ubuntu9_amd64.deb
gcc-4.8-base_4.8.5-4ubuntu9_amd64.deb
gcc-4.8_4.8.5-4ubuntu9_amd64.deb
g++-4.8_4.8.5-4ubuntu9_amd64.deb

使用 sudo dpkg -i 命令安装后,使用

ls -l /usr/bin/gcc*
ls -l /usr/bin/g++*

命令查看安装情况,以及gcc/g++链接指向,进一步使用 update-alternatives 命令添加与配置链接:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 50

使用中可根据需要进行配置:

sudo update-alternatives --config gcc
替代項目 gcc(提供 /usr/bin/gcc)有 2 個選擇。

  選項       路徑            優先權  狀態
------------------------------------------------------------
* 0            /usr/bin/gcc-11    50        自動模式
  1            /usr/bin/gcc-11    50        手動模式
  2            /usr/bin/gcc-4.8   40        手動模式

按下  鍵以保留目前選項[*],或是輸入選擇編號:2
update-alternatives: 在手動模式下以 /usr/bin/gcc-4.8 來提供 /usr/bin/gcc (gcc)

同样对g++进行操作:

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 40
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 50

sudo update-alternatives --config g++
替代項目 g++(提供 /usr/bin/g++)有 2 個選擇。

  選項       路徑            優先權  狀態
------------------------------------------------------------
* 0            /usr/bin/g++-11    50        自動模式
  1            /usr/bin/g++-11    50        手動模式
  2            /usr/bin/g++-4.8   40        手動模式

按下  鍵以保留目前選項[*],或是輸入選擇編號:2
update-alternatives: 在手動模式下以 /usr/bin/g++-4.8 來提供 /usr/bin/g++ (g++)

查看gcc/g++版本:

gcc -v
gcc version 4.8.5 (Ubuntu 4.8.5-4ubuntu9) 

g++ -v
gcc version 4.8.5 (Ubuntu 4.8.5-4ubuntu9) 

问题解决。

你可能感兴趣的:(ubuntu,linux,debian)