centOS 7升级gcc,gdb,cmake

2023-05-16

centOS 7升级gcc,gdb,cmake

entOS自带的gcc为4.8版本,而使用yum也无法安装更高版本的gcc

  1. 获取gcc源代码

    获取gcc源代码并上传至虚拟机

解压gcc

[root@222 ~]# tar -xvf gcc-10.2.0.tar.gz

执行./configure/ 会报错,提示需要安装对应的依赖

configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations.  Source code for these libraries can be found at
their respective hosting sites as well as at
ftp://gcc.gnu.org/pub/gcc/infrastructure/.  See also
http://gcc.gnu.org/install/prerequisites.html for additional info.  If
you obtained GMP, MPFR and/or MPC from a vendor distribution package,
make sure that you have installed both the libraries and the header
files.  They may be located in separate packages.

本文以MPC:1.0.3 mpfr:3.1.5 gmp:6.1.2安装gcc10.2.0,对应的源代码地址为:

MPC : http://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz

GMP : http://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.xz

MPFR : http://ftp.gnu.org/gnu/mpfr/mpfr-3.1.5.tar.gz

安装GMP

[root@222 ~]# tar -xvf gmp-6.1.2.tar.gz
[root@222 ]# cd gmp-6.1.2/
[root@222 gmp-6.1.2]# ../gmp-6.1.2/configure --prefix=/usr/local/gmp-6.1.2
[root@222 gmp-6.1.2]# make && make install

安装MPFR

[root@222 ~]# tar -xvf mpfr-3.1.5.tar.gz
[root@222 ~]# cd mpfr-3.1.5/
[root@222 mpfr-3.1.5]# ./configure --prefix=/usr/local/mpfr-3.1.5 --with-gmp=/usr/local/gmp-6.1.2
[root@222 mpfr-3.1.5]# make && make install

安装MPC

[root@222 ~]# tar -xvf mpc-1.0.3.tar.gz
[root@222 ~]# cd mpc-1.0.3/
[root@222 mpc-1.0.3]# ./configure --prefix=/usr/local/mpc-1.0.3 --with-gmp=/usr/local/gmp-6.1.2--with-mpfr=/usr/local/mpfr-3.1.5
[root@222 mpc-1.0.3]# make && make install

安装gcc

[root@222 ~]# cd gcc-10.2.0/
[root@222 gcc-10.2.0]# mkdir tmp && cd tmp
[root@222 tmp]# ../configure --prefix=/usr/local/gcc-10.2.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-3.1.5 --with-mpc=/usr/local/mpc-1.0.3

[root@222 tmp]# make && make install

注:最后gcc编译安装的时间很长,可能需要1-2个小时,建议在时间和网络允许的情况下进行

安装完成还需要执行如下命令:

mv /usr/bin/gcc /usr/bin/gcc485
mv /usr/bin/g++ /usr/bin/g++485
mv /usr/bin/c++ /usr/bin/c++485
mv /usr/bin/cc /usr/bin/cc485
ln -s /usr/local/gcc-10.2.0/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc-10.2.0/bin/g++ /usr/bin/g++
ln -s /usr/local/gcc-10.2.0/bin/c++ /usr/bin/c++
ln -s /usr/local/gcc-10.2.0/bin/gcc /usr/bin/cc
mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
ln -s /usr/local/gcc-10.2.0/lib64/libstdc++.so.6.0.28 /usr/lib64/libstdc++.so.6

最后gcc -v 就可以发现gcc升级成功

中途报错可以查看这位大佬的文章 https://blog.csdn.net/Tsuki_jhsyi77/article/details/103111687

若本方法不行,也可以尝试这位大佬的方法 https://blog.csdn.net/b_ingram/article/details/121569398

gdb升级

官网:https://gcc.gnu.org/
下载镜像:https://gcc.gnu.org/mirrors.html
速度比较好的下载镜像:ftp://mirrors.ustc.edu.cn/gnu/
下载gdb-8.3.1.tar.gz;
建议在安装gcc前,先装gdb的升级,gdb的升级不能用太高版本的gcc编绎,或者在编绎时指定低版本的gcc。
本次成功编绎gdb的gcc版本是:gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)。
相关命令如下:
tar -xzvf gdb-8.3.1.tar.gz
cd gdb-8.3.1
如果需要指定编绎的gcc版本,可以用以CC指定具体的gcc,如下面的/usr/local/gcc/bin/gcc就是gcc的安装目录:
CC=/usr/local/gcc/bin/gcc ./configure
否则可以直接编绎:
./configure
make
make install
在安装前系统需要安装texinfo:yum install texinfo
如果之前系统没有安装gcc,先执行:
yum install gcc
yum install gcc-c++

cmake升级

https://blog.csdn.net/qq_19734597/article/details/104200371

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

centOS 7升级gcc,gdb,cmake 的相关文章

随机推荐

  • Java暴力匹配算法——字符串匹配问题

    目录 暴力匹配算法 一 解析 二 图解 三 代码演示 四 输出结果 五 优化 有一个字符串 str1 61 34 BCDABCDABABCDABCABCD 34 xff0c 和一个字符串 str2 61 34 ABCAB 34 现在要判断
  • [PTA]兔子繁衍问题(java)

    一对兔子 xff0c 从出生后第3个月起每个月都生一对兔子 小兔子长到第3个月后每个月又生一对兔子 假如兔子都不死 xff0c 请问第1个月出生的一对兔子 xff0c 至少需要繁衍到第几个月时兔子总数才可以达到N对 xff1f packag
  • 用Java实现水仙花数的打印

    题目要求 xff1a 打印出1 10000范围内的所有的 水仙花数 xff0c 所谓 水仙花数 是指由一个3位数 xff0c 其各位数字立方和等于该数本身 例如 xff0c 153是一个 水仙花数 xff0c 因为153 61 1 3 43
  • 【如何学习网安(浅谈)】

    相信各位小伙伴一定听所过各种黑客的流弊操作 xff0c 键盘声满天飞 呵呵 xff0c 在下也曾幻想过有朝一日能够向当初中国红客一样 xff0c 攻陷漂亮国的白宫网站 将台湾是中国的一部分几个大字狠狠的挂在上面 然而在下不才 xff0c 还
  • 【Linux 主机ssh远程连接暴力破解详解】

    昨天 xff0c 安全老师布置了一个安全的小作业 xff0c 在下想了想 xff0c 做什么好呢 xff1f 最近学了很多 那就做一个Linux主机远程连接的暴力破解密码的作业 一 前期信息搜集 kali 作为黑客主机 xff0c cent
  • Linux-内网穿透frp-linux

    内网穿透frp linux 0 需求1 下载软件配置2 配置sever端 xff08 转接vps服务器 xff09 3 配置client端 xff08 校内Ubuntu电脑或校内网台式机 xff09 4 出现的问题参考 0 需求 想要在校外
  • GeoServer 服务器间同步 自动同步两个geoserver 基于JMS的集群

    教程 根据 https geoserver geo solutions it educational en clustering index html 来安装配置 教程中的GeoServer Active Clustering扩展下载地址过
  • 【Redhat-自动化运维工具ansible的安装和配置】

    ansible是一款自动化运维工具 xff0c 基于Python开发 xff0c 集合了众多运维工具 xff08 puppet cfengine chef func fabric xff09 的优点 xff0c 实现了批量系统配置 批量程序
  • 【Nmap的使用方法】

    目录 一 下载地址 二 功能概括 三 基本的语法规则 四 功能分步详解 1 主机发现 2 端口发现 3 应用程序与版本信息侦测 4 操作系统侦测 5 规避FW ID技术 一 下载地址 nmap官网地址 二 功能概括 基本功能 xff1a 主
  • 【Cobalt strike 渗透测试神器】

    目录 一 前言 安装包下载 主机详情 二 部分模块和Payload介绍 三 基本使用步骤 1 服务端和客户端 2 设置监听 四 配合其他工具反弹shell 1 kali中使用msf 2 CS创建监听 3 metasploit使用exploi
  • 【XSS攻击介绍(一)】

    目录 一 前言 二 攻击条件和漏洞验证方法 三 XSS漏洞分类 四 利用方法 五 XSS payload变形 六 防护总结 一 前言 XSS xff1a 跨站脚本攻击 xff0c 即CSS 利用网页开发时留下的漏洞 xff08 web应用程
  • 【vulnhub靶场之DC2靶机渗透】

    目录 一 前言 二 渗透过程 一 前言 大家好 xff0c 又到了快乐的学习时光了 xff0c 最近也是沉迷于DC系列的靶场 xff0c 每一次成功拿下靶场后都会学习和总结到很多的东西 今天的受害者是DC 2靶场 xff0c 话不多说 xf
  • 【文件上传漏洞绕过方式】

    目录 前言 正文 总结 前言 目前 xff0c 文件上传往往在业务中不可避免 xff0c 也是极其容易出现上传漏洞 根据owasptop10中的排名 xff0c 文件上传漏洞 xff08 属于攻击检测和防范不足 xff09 高居其中 今天和
  • 【AWVS破解安装学习】

    目录 前言 安装 破解 功能界面 总结 前言 Acunetix Web Vulnerability Scanner xff08 AWVS xff09 是用于测试和管理Web应用程序安全性的平台 xff0c 现如今是BS架构 能够自动扫描互联
  • 【Log4j2远程命令执行复现CVE-2021-12-09】

    目录 一 前言 二 漏洞环境构建 三 复现过程 一 前言 Log4j2是基于log4j这个java日志处理组件进行二次开发和改进而来的 也是目前最常用的日志框架之一 xff0c 在之前的博客中 xff08 http t csdn cn z9
  • 【靶场设计和渗透】

    目录 一 前言 二 靶场设计 1 局域网 2 说明 三 渗透测试 1 信息收集 2 漏洞利用 四 后渗透利用 1 提权 2 权限维持 一 前言 为了深入贯彻学习网络安全法律法规 xff0c 深入学习渗透测试知识 xff0c 强化实战技能 编
  • 【python练习第一天:简单成绩管理系统实现】

    一 系统要求 在B站上自学了python xff0c 简单练习一下 系统要求 xff1a 功能方面实现登记学生ID 成绩等信息 xff1b 能够实现查找学生信息 修改 删除学生信息 xff1b 统计学生总人数 xff1b 显示所有的学生信息
  • 通达信主力加仓指标 疯牛有理加仓爆发选股指标

    该指标为通达信指标 xff0c 一个真正的主力进场加仓指标源码 很有实用价值 xff0c 也很准 xff0c 无未来函数 xff0c 准确率极高 主力加仓指标方法 出现柱子为买入时机 xff0c 白色柱子持股 及时止盈 xff0c 只要不是
  • 关于51单片机的外部中断INT0和INT1

    问题 xff1a 外部中断到底如何正确配置 xff1f 解决 xff1a 第一步 xff1a 看明白外部中断工作的内部框图 直接看第一个INT0 xff0c 这就是外部中断0 xff0c 从左往右 xff0c 一共需要配置三个地方 xff0
  • centOS 7升级gcc,gdb,cmake

    centOS 7升级gcc xff0c gdb xff0c cmake entOS自带的gcc为4 8版本 xff0c 而使用yum也无法安装更高版本的gcc 获取gcc源代码 获取gcc源代码并上传至虚拟机 解压gcc span clas