CentOS 7怎样编译安装升级gcc至7.5版本?

[复制链接]
发表于 2025-6-16 11:27:40 | 显示全部楼层 |阅读模式
CentOS 7怎样编译安装升级gcc版本?

由于配置CentOS-SCLo-scl.repo与CentOS-SCLo-scl-rh.repo后执行yum install -y devtoolset-7安装总是异常,遂决定编译安装gcc7.5
  1. # 备份之前的yum .repo文件至 /tmp/repo_bak 目录
  2. mkdir -p /tmp/repo_bak &&  cd /etc/yum.repo.d && /bin/mv ./*.repo /tmp/repo_bak
  3. # 更换yum软件源为阿里云镜像源,执行脚本后一直全部回车即可
  4. bash <(curl -sSL https://linuxmirrors.cn/main.sh)
  5. # yum安装编译依赖
  6. yum install -y lbzip2 gcc gcc-c++ gmp-devel mpfr-devel libmpc-devel isl-devel
  7. # 阿里云镜像源下载gcc 7.5版本源码包,升级至其它版本,更改URL中的7.5.0版本号即可
  8. wget https://mirrors.aliyun.com/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.gz
  9. # 解压下载源码包
  10. tar -zxvf ./gcc-7.5.0.tar.gz
  11. # cd进去解压源码目录
  12. cd gcc-7.5.0
  13. # 官方镜像源,下载速度较慢,推荐阿里云镜像源
  14. wget https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
  15. wget https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
  16. wget https://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
  17. wget https://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2
  18. # 基于阿里云镜像源下载
  19. wget https://mirrors.aliyun.com/gnu/gmp/gmp-6.1.0.tar.bz2
  20. wget https://mirrors.aliyun.com/gnu/mpfr/mpfr-3.1.4.tar.bz2
  21. wget https://mirrors.aliyun.com/gnu/mpc/mpc-1.0.3.tar.gz
  22. wget http://ftp.ntua.gr/mirror/gnu/gcc/infrastructure/isl-0.16.1.tar.bz2
  23. # 编译前务必执行检查是否ok,后输出 All prerequisites downloaded successfully. 为正常
  24. ./contrib/download_prerequisites  
  25. # 创建构建目录
  26. cd .. && mkdir -p gcc-build-7.5.0
  27.   
  28. #进入构建目录
  29. cd gcc-build-7.5.0
  30. # 生成Makefile文件,--disable-multilib参数为只编译64位库,-enable-multilib参数为同时编译32位和64位库,是否为64位操作系统可以执行uname -a查看 x86_64为64位操作系统,i386 为32位操作系统
  31. ../gcc-7.5.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
  32. # -j$(nproc)启动并行编译,同时运行CPU总核数个编译任务,加速编译过程,笔者测试8核CPU编译预计20分钟
  33. make -j$(nproc)
  34. make install
  35. # 以绝对路径验证的GCC版本,是否安装成功
  36. /usr/local/bin/gcc --version
  37. which gcc      # 查看当前 GCC 路径(通常是 /usr/bin/gcc)
  38. gcc --version  # 查看当前GCC版本
  39. # 重命名系统自带GCC相关文件
  40. mv /usr/bin/gcc /usr/bin/gcc-4.8.5
  41. mv /usr/bin/g++ /usr/bin/g++-4.8.5
  42. mv /usr/bin/gcov /usr/bin/gcov-4.8.5
  43. # 注册新 GCC 到 alternatives
  44. update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/gcc 100
  45. update-ualternatives --install /usr/bin/g++ g++ /usr/local/bin/g++ 100
  46. update-alternatives --install /usr/bin/gcov gcov /usr/local/bin/gcov 100
  47. # 注册旧 GCC 到 alternatives
  48. update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8.5 50
  49. update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8.5 50
  50. update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-4.8.5 50
  51. # 输入1回车
  52. update-alternatives --config gcc
  53. # 声明新安装GCC的环境变量,注意此步必须执行,否则后续GCC编译无法调用7.5版本新的运行库
  54. cat << 'EOF' >> ~/.bashrc
  55. export PATH=/usr/local/bin:$PATH
  56. export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
  57. export LIBRARY_PATH=/usr/local/lib64:$LIBRARY_PATH
  58. export C_INCLUDE_PATH=/usr/local/include
  59. export CPLUS_INCLUDE_PATH=/usr/local/include/c++/7.5.0
  60. EOF
  61. source ~/.bashrc
  62. # 以非绝对路径,查看当前GCC版本是否为7.5
  63. cd && gcc --version
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2025-7-22 02:04 , Processed in 0.078612 second(s), 31 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图

快速回复 返回顶部 返回列表