【问题标题】:Install older gcc/g++ versions in CentOS 8在 CentOS 8 中安装较旧的 gcc/g++ 版本
【发布时间】:2026-01-29 07:30:01
【问题描述】:

在过去的 2 小时里,我一直在为此苦苦挣扎。在 CentOS 8 中,我找不到 devtoolset 软件包来安装较旧的 gcc/g++ 版本。 CentOS 8 不再有scl 存储库。我需要在当前的 gcc/g++ 8.x 中安装 gcc/g++ 4.9x,并且我需要能够在两者之间切换。这在 Ubuntu 中非常容易设置,而在 CentOS 中则不然,而且文档不存在或者我找不到它。

【问题讨论】:

标签: c++ gcc multiple-versions centos8 devtoolset


【解决方案1】:

如果您希望安装比发行版提供的旧版 gcc,您需要将其编译为源代码。

下面有一些关于如何下载和构建旧 GCC 的指导

https://bytefreaks.net/gnulinux/downgrade-gcc-on-centos-7-0-64bit-to-version-4-8-2

【讨论】:

    【解决方案2】:

    找到了一条有自动编译打包gcc的可靠路径,还有一个指南:

    我不会复制粘贴此人指南中的内容,因为他们值得称赞。但是,这里是步骤的摘要:

    1. 安装您的先决条件(rpm 构建工具、用于引导您的环境的开发工具)。
    2. 克隆存储库。
    3. 签出 repo 中的分支,例如您想要的 GCC 主要版本(例如 gcc7)。
    4. 在 repo 中,编辑 gcc-build-vars.sh 使其指向您想要的来自 http://gnu.mirror.constant.com/gcc/ 的 GCC 版本。
    5. 使用以下代码执行构建:./build-gcc.sh -T | tee build.log
    6. 登台:./stage-gcc.sh
    7. 打包:(./pack-gcc.sh./make-gcc-rpm.sh -v)。

    【讨论】: