因软件版本依赖,需要在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 手動模式
按下 <enter> 鍵以保留目前選項[*],或是輸入選擇編號: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 手動模式
按下 <enter> 鍵以保留目前選項[*],或是輸入選擇編號: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)
问题解决。