1. 准备
因为编译 GCC 源码的时候是需要 GCC 的,并且支持 C++ 11,所以我们得确保系统里当前是存在 GCC 的,如果没有的话,先安装一个:
1 | sudo yum install gcc-c++ |
yum
中提供的 GCC 版本是 8.5.0,是满足我们编译最新版 GCC 源码的要求的。
也就是说,我们所谓的安装最新版 GCC,其实是升级现有的 GCC 到最新版。
另外 GCC 的编译耗时可能非常长(也取决你的配置),如果你是着急用的话,可能不太行。
2. 下载最新版 GCC
https://ftp.gnu.org/gnu/gcc/ 中可以看到全部的 GCC 版本,找到你需要的版本的文件夹,进入,里面名字形如 gcc-12.2.0.tar.gz
就是我们需要的(一般也是 Size 最大的那个)。
我这里是找到最新版 GCC,即 12.2.0。
3. 编译安装
我一般喜欢在一个干净的文件夹内做一件事情(个人习惯):
1 | mkdir ~/gcc-install && cd ~/gcc-install |
下面进入正题。
下载 tar 包并解压:
1 | wget https://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.gz |
执行 download_prerequisites
脚本,下载 gcc
依赖文件和库:
1 | ./contrib/download_prerequisites |
输出类似如下信息即为成功:
1 | ./contrib/download_prerequisites |
这里可能会遇到的问题:
1 ./contrib/download_prerequisites: line 261: bzip2: command not found解决方法:
1 sudo yum install -y bzip2
然后配置编译:
1 | mkdir build && cd build |
开始编译,这里可能耗时较长(非常长!!!):
1 | make -j`nproc` |
安装(若提示无权限则加上 sudo
):
1 | make install |
到这里,GCC 的安装就结束了,我们可以通过 gcc -v
检查版本(需要重登 SSH 终端或重启系统):
1 | $ gcc -v |
可以看到,GCC 的版本已经是我们刚刚安装的新版本了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 GuKaifeng's Blog!
评论(延迟加载 / 需要可访问 GitHub Issues)