对不起,同性恋者。我忘了告诉你安装旧版本gcc的目的,因为我需要使用软件gpgpu-sim( https://github.com/gpgpu-sim/gpgpu-sim_distribution )来模拟GPU,并且可能需要来实现论文中的一些内容。
当我在终端中输入时sudo apt install gcc-5.5
,它只显示如下图:
➜ ZhouPengfei sudo apt-get install gcc-5.5 g++-5.5 gcc-11.4 g++-11.4
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package gcc-5.5
E: Couldn't find any package by glob 'gcc-5.5'
E: Couldn't find any package by regex 'gcc-5.5'
E: Unable to locate package g++-5.5
E: Couldn't find any package by glob 'g++-5.5'
E: Couldn't find any package by regex 'g++-5.5'
E: Unable to locate package gcc-11.4
E: Couldn't find any package by glob 'gcc-11.4'
E: Couldn't find any package by regex 'gcc-11.4'
E: Unable to locate package g++-11.4
E: Couldn't find any package by glob 'g++-11.4'
E: Couldn't find any package by regex 'g++-11.4'
因此,我尝试从 Web http://archive.ubuntu.com/ubuntu/pool/universe/g/手动安装它。我从网站安装这些文件:
➜ gcc-5 ll
total 28M
cpp-5_5.5.0-12ubuntu1_amd64.deb
g++-5_5.5.0-12ubuntu1_amd64.deb
gcc-5_5.5.0-12ubuntu1_amd64.deb
gcc-5-base_5.5.0-12ubuntu1_amd64.deb
libasan2_5.5.0-12ubuntu1_amd64.deb
libcilkrts5_7.5.0-6ubuntu2_amd64.deb
libgcc-5-dev_5.5.0-12ubuntu1_amd64.deb
libisl15_0.18-4_amd64.deb
libmpx0_5.5.0-12ubuntu1_amd64.deb
libstdc++-5-dev_5.5.0-12ubuntu1_amd64.deb
libubsan0_7.5.0-6ubuntu2_amd64.deb
我使用 dpkg 来安装它sudo dpkg -i *.deb
。它显示一些东西:
(Reading database ... 222015 files and directories currently installed.)
Preparing to unpack cpp-5_5.5.0-12ubuntu1_amd64.deb ...
Unpacking cpp-5 (5.5.0-12ubuntu1) over (5.5.0-12ubuntu1) ...
Selecting previously unselected package g++-5.
Preparing to unpack g++-5_5.5.0-12ubuntu1_amd64.deb ...
Unpacking g++-5 (5.5.0-12ubuntu1) ...
Selecting previously unselected package gcc-5.
Preparing to unpack gcc-5_5.5.0-12ubuntu1_amd64.deb ...
Unpacking gcc-5 (5.5.0-12ubuntu1) ...
Preparing to unpack gcc-5-base_5.5.0-12ubuntu1_amd64.deb ...
Unpacking gcc-5-base:amd64 (5.5.0-12ubuntu1) over (5.5.0-12ubuntu1) ...
Preparing to unpack libasan2_5.5.0-12ubuntu1_amd64.deb ...
Unpacking libasan2:amd64 (5.5.0-12ubuntu1) over (5.5.0-12ubuntu1) ...
Selecting previously unselected package libcilkrts5:amd64.
Preparing to unpack libcilkrts5_7.5.0-6ubuntu2_amd64.deb ...
Unpacking libcilkrts5:amd64 (7.5.0-6ubuntu2) ...
Selecting previously unselected package libgcc-5-dev:amd64.
Preparing to unpack libgcc-5-dev_5.5.0-12ubuntu1_amd64.deb ...
Unpacking libgcc-5-dev:amd64 (5.5.0-12ubuntu1) ...
Preparing to unpack libisl15_0.18-4_amd64.deb ...
Unpacking libisl15:amd64 (0.18-4) over (0.18-4) ...
Preparing to unpack libmpx0_5.5.0-12ubuntu1_amd64.deb ...
Unpacking libmpx0:amd64 (5.5.0-12ubuntu1) over (5.5.0-12ubuntu1) ...
Selecting previously unselected package libstdc++-5-dev:amd64.
Preparing to unpack libstdc++-5-dev_5.5.0-12ubuntu1_amd64.deb ...
Unpacking libstdc++-5-dev:amd64 (5.5.0-12ubuntu1) ...
Selecting previously unselected package libubsan0:amd64.
Preparing to unpack libubsan0_7.5.0-6ubuntu2_amd64.deb ...
Unpacking libubsan0:amd64 (7.5.0-6ubuntu2) ...
Setting up gcc-5-base:amd64 (5.5.0-12ubuntu1) ...
Setting up libasan2:amd64 (5.5.0-12ubuntu1) ...
dpkg: dependency problems prevent configuration of libcilkrts5:amd64:
libcilkrts5:amd64 depends on gcc-7-base (= 7.5.0-6ubuntu2); however:
Package gcc-7-base is not installed.
dpkg: error processing package libcilkrts5:amd64 (--install):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libgcc-5-dev:amd64:
libgcc-5-dev:amd64 depends on libcilkrts5 (>= 5.5.0-12ubuntu1); however:
Package libcilkrts5:amd64 is not configured yet.
dpkg: error processing package libgcc-5-dev:amd64 (--install):
dependency problems - leaving unconfigured
Setting up libisl15:amd64 (0.18-4) ...
Setting up libmpx0:amd64 (5.5.0-12ubuntu1) ...
dpkg: dependency problems prevent configuration of libstdc++-5-dev:amd64:
libstdc++-5-dev:amd64 depends on libgcc-5-dev (= 5.5.0-12ubuntu1); however:
Package libgcc-5-dev:amd64 is not configured yet.
dpkg: error processing package libstdc++-5-dev:amd64 (--install):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libubsan0:amd64:
libubsan0:amd64 depends on gcc-7-base (= 7.5.0-6ubuntu2); however:
Package gcc-7-base is not installed.
dpkg: error processing package libubsan0:amd64 (--install):
dependency problems - leaving unconfigured
Setting up cpp-5 (5.5.0-12ubuntu1) ...
dpkg: dependency problems prevent configuration of g++-5:
g++-5 depends on libstdc++-5-dev (= 5.5.0-12ubuntu1); however:
Package libstdc++-5-dev:amd64 is not configured yet.
dpkg: error processing package g++-5 (--install):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of gcc-5:
gcc-5 depends on libgcc-5-dev (= 5.5.0-12ubuntu1); however:
Package libgcc-5-dev:amd64 is not configured yet.
dpkg: error processing package gcc-5 (--install):
dependency problems - leaving unconfigured
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.5) ...
Errors were encountered while processing:
libcilkrts5:amd64
libgcc-5-dev:amd64
libstdc++-5-dev:amd64
libubsan0:amd64
g++-5
gcc-5
虽然这个过程中提示了很多错误,但是当我执行下一条命令时,就安装成功了:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 30
,sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 30
。
它显示:
➜ gcc-5 sudo update-alternatives --config gcc
There is only one alternative in link group gcc (providing /usr/bin/gcc): /usr/bin/gcc-5
Nothing to configure.
➜ gcc-5 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 30
update-alternatives: using /usr/bin/g++-5 to provide /usr/bin/g++ (g++) in auto mode
我输入gcc --version
,它显示:
gcc-5 gcc --version
gcc (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
我输入后g++ --version
,它显示:
➜ gcc-5 g++ --version
g++ (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
接下来,问题来了。无论我下载什么,都会提示存在依赖问题。可能是刚才安装的gcc-5.5有问题。如果我想安装任何其他软件,我需要执行sudo apt --fix-broken install
来解决这个问题。但结果是刚刚安装的gcc又被卸载了。
显然,我无法自由切换gcc版本。谁能帮我?我要被折磨疯了。我一直在谷歌上搜索这些问题的解决方案,但没有找到适合我的解决方案,我不知道我是否在某个地方遇到了致命错误。
我的系统有一些东西:
➜ gcc-5 neofetch
.-/+oossssoo+/-. graduation_project@moonlight01
`:+ssssssssssssssssss+:` ------------------------------
-+ssssssssssssssssssyyssss+- OS: Ubuntu 22.04.3 LTS x86_64
.ossssssssssssssssssdMMMNysssso. Host: ThinkSystem SR650 -[7X06CTO1WW]- 07
/ssssssssssshdmmNNmmyNMMMMhssssss/ Kernel: 6.2.0-37-generic
+ssssssssshmydMMMMMMMNddddyssssssss+ Uptime: 8 days, 5 hours, 21 mins
/sssssssshNMMMyhhyyyyhmNMMMNhssssssss/ Packages: 1849 (dpkg), 11 (snap)
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Shell: zsh 5.8.1
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Resolution: 1024x768
ossyNMMMNyMMhsssssssssssssshmmmhssssssso Terminal: /dev/pts/0
ossyNMMMNyMMhsssssssssssssshmmmhssssssso CPU: Intel Xeon Silver 4216 (64) @ 799MHz
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ GPU: NVIDIA Tesla T4
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Memory: 8182MiB / 128281MiB
/sssssssshNMMMyhhyyyyhdNMMMNhssssssss/
+sssssssssdmydMMMMMMMMddddyssssssss+
/ssssssssssshdmNNNNmyNMMMMhssssss/
.ossssssssssssssssssdMMMNysssso.
-+sssssssssssssssssyyyssss+-
`:+ssssssssssssssssss+:`
.-/+oossssoo+/-.
谁能帮我?请。我怎么这么傻??