在过去的两个小时里,我一直在为此而挣扎。在centos8中,我找不到devtoolset
软件包来安装较旧的gcc/g++版本。不再有适用于CentOS8的scl
回购。我需要沿着当前的gcc/g++8.x安装gcc/g++4.9x,并且我需要能够在两者之间切换。这在Ubuntu中非常容易设置,而不是在CentOS中,文档不存在,或者我很难找到它
如果您希望安装比发行版提供的更旧的gcc,则需要为源代码编译它。
下面有一些关于如何下载和构建旧的GCC 的指导
https://bytefreaks.net/gnulinux/downgrade-gcc-on-centos-7-0-64bit-to-version-4-8-2
找到了一条具有自动编译和打包gcc的坚实路径,以及一个指南:
- 指南:
- https://bobsteagall.com/2017/12/30/gcc-builder/
- Github回购:
- https://github.com/BobSteagall/gcc-builder
我不会复制粘贴此人指南中的内容,因为他们值得称赞。然而,以下是步骤摘要:
- 安装您的prereqs(rpm构建工具,用于引导环境的devtools(
- 克隆回购
- 签出回购中的分支,就像您想要的GCC的主要版本一样(例如
gcc7
( - 在repo中,编辑
gcc-build-vars.sh
,使其指向http://gnu.mirror.constant.com/gcc/
中所需的GCC版本 - 使用:
./build-gcc.sh -T | tee build.log
执行构建 - 上演:
./stage-gcc.sh
- 包装:(
./pack-gcc.sh
或./make-gcc-rpm.sh -v
(