【问题标题】:Can g++ (gcc) 11 be used on Debian Bullseye?g++ (gcc) 11 可以在 Debian Bullseye 上使用吗?
【发布时间】:2021-09-26 06:04:28
【问题描述】:

g++ (gcc) 11.1 可以在 Debian Bullseye 上使用吗?

Debian 11 (bullseye) 即将发布,我对支持 C++20 和模块的编译器感兴趣。

Debian 11 目前有 gcc 10.2 和 clang 11。clang 11 有一些 C++20 支持。

由于操作系统使用 gcc,Debian 使用 gcc 比 clang 更保守吗?

【问题讨论】:

  • Debian 11 硬冻结在 2021-03-12 上,恰好介于 clang-11gcc-11 之间,因此很可能只是时间问题。跨度>
  • 如果没有其他选择,您可能可以从源代码构建编译器。
  • @Frank 谢谢。可能,但在提出这个问题时,Debian 11 处于完全冻结状态(截至 21 年 7 月 17 日)。
  • @Coder 我不确定我是否遵循。重要的是 Debian 11 在 clang-11 发布时并没有被冻结,而是在 gcc-11 被冻结时,在我看来,这似乎是对差异的合理解释。
  • @Frank Re:“不确定我是否关注”。当您说“时间问题”时,我将其解释为您认为 Debian 可能会将 gcc-11 添加到 Debian 11 中,所以现在考虑到完全冻结,我想知道这一点。不过,我现在明白你的意思了,谢谢你的澄清。

标签: c++ gcc debian clang c++20


【解决方案1】:

这是,来自默认 Ubuntu 存储库的 g++-11 准备安装在 Debian Bullseye 中,软件包的依赖项列在 this page 上。

打开终端并输入:

cd ~/Desktop/
wget http://security.ubuntu.com/ubuntu/pool/universe/g/gcc-11/g++-11_11.1.0-1ubuntu1~21.04_amd64.deb
apt install --simulate ./g++-11_11.1.0-1ubuntu1~21.04_amd64.deb

最后一个命令将返回缺失依赖项的列表,可以在this webpage 找到。手动下载安装所有缺失的依赖包后,安装g++-11包的命令如下:

sudo apt install ./g++-11_11.1.0-1ubuntu1~21.04_amd64.deb 

apt install --simulate 命令一开始肯定会产生未满足的依赖项错误,因为 Debian Bullseye 默认存储库不包含 gcc-11 依赖包(gcc-10 是最新版本),但它们会显示缺少依赖项的列表包。如果您反复使用它,您将能够安装所有这些缺少的依赖包,以便最终sudo apt install ./g++-11_11.1.0-1ubuntu1~21.04_amd64.deb 将运行而不会出错。

【讨论】:

    【解决方案2】:

    g++-11,gcc-11 可以正常安装到“Debian 11 Bullseye”中。

    g++-11 和依赖项 ...

    cpp-11_11.1.0-4_amd64.deb
    g++-11_11.1.0-4_amd64.deb
    gcc-11_11.1.0-4_amd64.deb
    gcc-11-base_11.1.0-4_amd64.deb
    libasan6_11.1.0-4_amd64.deb
    libatomic1_11.1.0-4_amd64.deb
    libcc1-0_11.1.0-4_amd64.deb
    libgcc-11-dev_11.1.0-4_amd64.deb
    libgcc-s1_11.1.0-4_amd64.deb
    libgomp1_11.1.0-4_amd64.deb
    libitm1_11.1.0-4_amd64.deb
    liblsan0_11.1.0-4_amd64.deb
    libquadmath0_11.1.0-4_amd64.deb
    libstdc++-11-dev_11.1.0-4_amd64.deb
    libstdc++6_11.1.0-4_amd64.deb
    libtsan0_11.1.0-4_amd64.deb
    libubsan1_11.1.0-4_amd64.deb
    

    g++-11 https://packages.debian.org/experimental/g++-11

    安装:cd Downloads/# apt install ./*

    【讨论】:

    • 好的。非常感谢。鉴于 gcc-11 本身是官方“稳定”版本,您认为这会比“实验”中的其他软件包更“稳定/可靠”吗?
    • 这个 gcc-11 版本已经在 Ubuntu 中测试了一段时间,而且 gcc 版本通常是稳定的。 gcc-11 与其他实验性:gcc-11 是一个例外,因为它依赖于更早的 glibc (libc6) 版本。不要期望其他“专业”软件包会出现这种情况。
    猜你喜欢
    • 1970-01-01
    • 2016-03-31
    • 2020-09-08
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    • 2021-10-30
    • 2022-11-09
    • 1970-01-01
    相关资源
    最近更新 更多