如何在 debian jessie 8.1 上安装 GCC 5

如何在 debian jessie 8.1 上安装 GCC 5

我尝试了很多解决方案来在 debian 服务器上安装 gcc 编译器的更新。他们都没有工作。我需要编译器更新才能使用 c++11 的新功能,因为这提供了稳定的 libcxx11 ABI,以及对 C++11 的稳定支持(请参阅这里)。特别是获取版本“GLIBCXX_3.4.21”,该版本不包含在我当前的编译器 gcc 版本 4.9.2 (Debian 4.9.2-10) 中。

一些解决方案的指示将会有所帮助。提前致谢。

我已经尝试过的与我的问题相关的一些论坛链接:

1 2 3(不完全相关的解决方案适用于 ubuntu,但我在 debian 的 ftp 服务器中找不到 gcc-5)

答案1

我需要在 debian jessie 上安装 GCC 5+,并且可用于 debian 测试(至少在 jun-16 上),您可以使用 apt-pinning 来安装那里可用的软件包(请参阅https://wiki.debian.org/AptPreferences)。

要使用 apt-pinning 在 debian jessie 上进行测试来安装 GCC 5+:

  1. /etc/apt/sources.list.d通过在包含该行的目录中创建一个文件,将 debian 测试存储库添加到您的 apt 源中

    deb http://ftp.us.debian.org/debian testing main contrib non-free

  2. /etc/apt/preferences.d通过创建包含以下内容的文件来指示 debian 在某些包上使用测试源:

    Package: *
    Pin: release a=testing
    Pin-Priority: 100
    
  3. 更新 apt 数据库:sudo apt-get update

  4. 从测试中安装 gcc:sudo apt-get install -t testing gcc

    请注意,使用-t testing告诉 apt-get 从前面配置的测试源安装 gcc。

我强烈建议在再次编译源代码之前清理所有编译并重新编译所有依赖项。

玩得开心!

答案2

截至 2017 年 2 月 19 日,gcc-5 已已删除来自测试:

https://tracker.debian.org/pkg/gcc-5

apt-get install gcc-5如果您首先以 root 身份执行此行,则可以:

echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" > /etc/apt/sources.list.d/unstable.list

然后,您可能希望/etc/apt/preferences.d根据 llekn 的答案更改该源的优先级。

答案3

要将之前的 2 个答案合并为一个有效的答案:

echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list.d/unstable.list
apt-get update
apt-get install -t unstable gcc-5

但!!!当您安装来自 stable 的软件包时,请自行承担使用此功能的风险。/etc/apt/sources.list.d/unstable.list安装软件包后,您可能还想将其删除。

如果可能,请在 Docker 下安装,这样就不会弄乱操作系统。你的旅费可能会改变。

答案4

我能够gcc-5从 Debian 10.13“buster”上的 Ubuntu 存储库安装。这是一个非常糟糕的做法,但我别无选择。

这是命令(CI 友好)

apt-get remove -y gcc
echo "deb http://us.archive.ubuntu.com/ubuntu/ xenial main" >> /etc/apt/sources.list.d/buster.list
echo "deb http://us.archive.ubuntu.com/ubuntu/ xenial universe" >> /etc/apt/sources.list.d/buster.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32
apt-get update
apt-get install -y gcc-5 g++-5
ln -s /usr/bin/gcc-5 /usr/bin/gcc
ln -s /usr/bin/g++-5 /usr/bin/g++

相关内容