尝试在 Ubuntu 22.04 上安装 gcc-8 和 g++-8

Gab*_*les 5 package-management gcc 22.04

在你说它是重复的之前,这个答案中的 wget 链接已经死了,我也需要,g++-8不仅仅是gcc-8如何解决错误:“软件包 gcc-8 没有安装候选者”?我正在尝试通过 sudo-apt install gcc-8 安装它

此页面似乎表明gcc-8是 Ubuntu 22.04 中的有效包: https: //linux-packages.com/ubuntu-jammy-jellyfish/package/gcc-8 <-- 此页面是什么意思?我该如何使用它?

我看到的错误E: Package 'gcc-8' has no installation candidate::

$ sudo apt install gcc-8
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package gcc-8 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'gcc-8' has no installation candidate
Run Code Online (Sandbox Code Playgroud)

去做:

  1. 添加包含详细步骤的答案(如 Karel 此处所述)和屏幕截图。请参阅我们的聊天:https://chat.stackexchange.com/rooms/141964/discussion- Between -karel-and-gabriel-staples

kar*_*rel 10

gcc-8 软件包已在 Ubuntu 22.04 及更高版本的默认存储库中停止使用,但在 Ubuntu 20.04 默认存储库中仍然可用。要在 Ubuntu 22.04 中安装 Ubuntu 20.04 的 gcc-8 软件包,请运行以下命令:

sudo apt update
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/gcc-8_8.4.0-3ubuntu2_amd64.deb
wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-8/gcc-8-base_8.4.0-3ubuntu2_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/libgcc-8-dev_8.4.0-3ubuntu2_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/cpp-8_8.4.0-3ubuntu2_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/libmpx2_8.4.0-3ubuntu2_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/i/isl/libisl22_0.22.1-1_amd64.deb
sudo apt install ./libisl22_0.22.1-1_amd64.deb ./libmpx2_8.4.0-3ubuntu2_amd64.deb ./cpp-8_8.4.0-3ubuntu2_amd64.deb ./libgcc-8-dev_8.4.0-3ubuntu2_amd64.deb ./gcc-8-base_8.4.0-3ubuntu2_amd64.deb ./gcc-8_8.4.0-3ubuntu2_amd64.deb
Run Code Online (Sandbox Code Playgroud)

要在 Ubuntu 22.04 中安装 g++-8,请首先像以前一样在 Ubuntu 22.04 中安装来自 Ubuntu 20.04 的 gcc-8 软件包,然后运行以下命令:

wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/libstdc++-8-dev_8.4.0-3ubuntu2_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/g++-8_8.4.0-3ubuntu2_amd64.deb
sudo apt install ./libstdc++-8-dev_8.4.0-3ubuntu2_amd64.deb ./g++-8_8.4.0-3ubuntu2_amd64.deb
Run Code Online (Sandbox Code Playgroud)

回复问题最后一段添加答案的请求,并附上详细步骤:

接下来四段中的说明与上述代码块中的说明相同,但本节更详细地解释了这些代码片段是如何生成的。

可以在Ubuntu 软件包搜索网站上找到当前支持的所有 Ubuntu 版本的官方 Ubuntu 存储库中的 .deb 文件。搜索软件包名称,从“发行版: ”下拉菜单中选择 Ubuntu 发行版,然后单击Search按钮。

在此输入图像描述

这将显示一个特定于您的发行版的包页面,在本例中为focus。单击焦点链接。

这会打开一个新网页。向下滚动一点并单击 amd64 链接。这将打开一个新网页,其中包含下载镜像以下载软件包。从下载镜像复制链接。我总是选择第一个镜像“mirrors.kernel.org/ubuntu”。然后将目录更改为构建目录并使用 wget 下载 .deb 文件。

不要立即安装您下载的 .deb 文件,而不首先使用不使用 sudo 的命令模拟安装apt install --simulate ./package1.deb ./package2.deb ./package3.deb。该命令不会安装任何东西。它将测试损坏的包和未满足的依赖关系。如果有未满足的依赖包,请按照前两段的说明下载依赖包,并继续迭代,直到apt install --simulate命令成功运行且无错误为止。