答案1
我需要在 debian jessie 上安装 GCC 5+,并且可用于 debian 测试(至少在 jun-16 上),您可以使用 apt-pinning 来安装那里可用的软件包(请参阅https://wiki.debian.org/AptPreferences)。
要使用 apt-pinning 在 debian jessie 上进行测试来安装 GCC 5+:
/etc/apt/sources.list.d
通过在包含该行的目录中创建一个文件,将 debian 测试存储库添加到您的 apt 源中deb http://ftp.us.debian.org/debian testing main contrib non-free
/etc/apt/preferences.d
通过创建包含以下内容的文件来指示 debian 在某些包上使用测试源:Package: * Pin: release a=testing Pin-Priority: 100
更新 apt 数据库:
sudo apt-get update
从测试中安装 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++