linux离线升级gcc记录

news/2024/4/23 21:24:36/文章来源:https://blog.csdn.net/qf0129/article/details/129148980

问题分析

最近在公司内网一台centos7服务器遇到此问题:
/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.22' not found

查看字符,确实没有GLIBCXX_3.4.22这个版本

strings /usr/lib64/libstdc++.so.6 | grep GLIBC

查看所有libstdc++.so.6位置,确认没有更高版本

find / -name libstdc++.so.6*

查看当前gcc版本

gcc -v

centos7默认的版本为4.8.5,所以需要安装更高版本


下载

因为此服务器限制了所有公网访问,除了官方软件源,因此需要离线安装。

下载gcc

访问国内软件源加快下载速度,这里我从清华软件源下载了8.3.0的版本,下载到本地
http://mirrors.ustc.edu.cn/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.gz

下载依赖库

解压gcc-8.3.0.tar.gz查看这个文件contrib\download_prerequisites,看到如下4个依赖库和地址

...gmp='gmp-6.1.0.tar.bz2'
mpfr='mpfr-3.1.4.tar.bz2'
mpc='mpc-1.0.3.tar.gz'
isl='isl-0.18.tar.bz2'base_url='ftp://gcc.gnu.org/pub/gcc/infrastructure/'
...

拼接下载地址,将4个文件下载到本地

http://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
http://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
http://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
http://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2

安装gcc

上传文件

将以下5个文件上传到服务器/tmp目录

gcc-8.3.0.tar.gz
gmp-6.1.0.tar.bz2
mpfr-3.1.4.tar.bz2
mpc-1.0.3.tar.gz
isl-0.18.tar.bz2

解压

tar xzf gcc*
tar xzf mpc*
tar xjf gmp* 
tar xjf mpfr*
tar xjf isl*

创建软链接

将4个依赖库的软连接放到gcc-8.3.0目录

ln -sf gmp-6.1.0 gcc-8.3.0/gmp
ln -sf mpfr-3.1.4 gcc-8.3.0/mpfr
ln -sf mpc-1.0.3 gcc-8.3.0/mpc
ln -sf isl-0.18 gcc-8.3.0/isl

编译安装

cd gcc-8.3.0./configure --prefix=/usr/local/gcc-8.3.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib
# 指定`/usr/local/gcc-8.3.0/`目录,不影响系统自带gcc版本make -j4 
# 等一段时间make install

安装完成

更新软链接

查找下新安装的libstdc++

find / -name "libstdc++.so*"

多了如下几行

/usr/local/gcc-8.3.0/lib64/libstdc++.so.6
/usr/local/gcc-8.3.0/lib64/libstdc++.so.6.0.25
/usr/local/gcc-8.3.0/lib64/libstdc++.so.6.0.25-gdb.py
/usr/local/gcc-8.3.0/lib64/libstdc++.so

删除原来的软链接

rm -f /lib64/libstdc++.so.6.0.19

软链接指向新的

ln  -s  /usr/local/gcc-8.3.0/lib64/libstdc++.so.6  /lib64/libstdc++.so.6

问题解决。


异常

中间出现如下错误

error: cannot compute sizeof (long long)

安装binutils包解决

yum install binutils

如果只需要.so库,可以不执行make install,把需要的so文件复制到系统目录即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_72266.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【java】java sftp传输 ,java smb传输访问共享文件夹 集成springboot

文章目录java的sftp传输sftp注意事项java smb传输smb注意事项tips: 集成springboot与不集成springboot区别不大,springboot中无非是引入一个maven依赖 加一个Component注解 , 默认是单例; 复制代码前 请先认真看注意事项 java的sftp传输 依赖…

网络安全态势感知研究综述

摘要:随着物联网、云计算和数字化的迅速发展,传统网络安全防护技术无法应对复杂的网络威胁。网络安全态势感知能够全面的对网络中各种活动进行辨识、理解和预测。首先分别对态势感知和网络安全态势感知的定义进行了归纳整理,介绍了网络安全态…

从0探索NLP——导航帖

从0探索NLP——导航帖 人工智能是一个定义宽泛、知识组成复杂的领域,而NLP是人工智能领域中的一类任务,他在哪呢?Emmmmm~不能说都有涉猎只能说全都都沾点: 每次想要针对NLP的某一点进行讲解时,不讲那写细枝末节&…

全链路压力测试

压力测试的目标: 探索线上系统流量承载极限,保障线上系统具备抗压能力 复制代码 如何做全链路压力测试: 全链路压力测试:整体步骤 容量洪峰 -》 容量评估 -》 问题发现 -》 容量规划 全链路压力测试:细化过程 整体目…

YOLOv6-3.0-目标检测论文解读

文章目录摘要算法2.1网络设计2.2Anchor辅助训练2.3自蒸馏实验消融实验结论论文: 《YOLOv6 v3.0: A Full-Scale Reloading 》github: https://github.com/meituan/YOLOv6上版本参考 YOLOv6摘要 YOLOv6 v3.0中YOLOv6-N达到37.5AP,1187FPS&…

linux下安装minio

获取 MinIO 下载 URL:访问:https://docs.min.io/ 一,进入/opt 目录,创建minio文件夹 cd /optmkdir minio二,wget下载安装包 wget https://dl.minio.io/server/minio/release/linux-amd64/minio三,进入minio文件夹创建…

如何使用 API 工具做 Websocket 测试

在 API 测试中,对 Websocket 协议的支持呼声越来越高,今天给大家推荐一款 开源的 API 管理工具——Postcat,以及教教大家,如何利用 API 管理工具做 Websocket 测试。 在线 Demo 链接:Postcat - Open Source API Ecosys…

广域网技术(PAP和CHAP)

第十六章:广域网技术 随着经济全球化与数字化变革加速,企业规模不断扩大,越来越多的分支机构出现在不同的地域。每个分支的网络被认为一个LAN(Local Area Network,局域网),总部和各分支机构之间…

音频(九)——I2S 输出正弦波

I2S 输出正弦波 PC 端:先生成一个正弦波数组MCU 端:将正弦波数组使用 I2S 输出AP 端:接受从 MCU I2S 端口出来的正弦波数据并测量 THDN 等数据 PC 端生成正弦波数组 原理 三角函数的公式 yAsinxy AsinxyAsinx A 表示幅值 代码实现 源…

深入浅出C++ ——容器适配器

文章目录一、容器适配器二、deque类简介1. deque的原理2. deque迭代器3. deque的优点和缺陷4. 为什么选择deque作为stack和queue的底层默认容器一、容器适配器 适配器的概念 适配器是STL六大核心组件之一,它是一种设计模式,该种模式是将一个类的接口转换…

国家级高新区企业主要经济指标(2012-2021年)

数据来源:国家统计局 时间跨度:2012-2021 区域范围:全国(及各分类统计指标) 指标说明:手工提取最新的中国统计年鉴数据中各个excel指标表,形成各个指标文件的多年度数据,便于多年…

SpringBoot整合Spring Security过滤器链加载执行流程源码分析

文章目录1.引言2.Spring Security过滤器链加载1.2.注册名为 springSecurityFilterChain的过滤器2、查看 DelegatingFilterProxy类3.查看 FilterChainProxy类3.1 查看 doFilterInternal方法。3.2 查看 getFilters方法。4 查看 SecurityFilterChain接口5 查看 SpringBootWebSecur…

90%的人都理解错了HTTP中GET与POST的区别

Get和Post是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是Get把参数包含在URL中,Post通过request body传递参数。 你可能自己写过无数个Get和Post请求,或者已经看过很多权威网站总结…

制造企业为何要上数字化工厂系统?

以目前形势来看,数字化转型是制造企业生存的关键,而数字化工厂管理系统是一个综合性、系统性的工程,波及整个企业及其供应链生态系统。数字化工厂系统所要实现的互联互通系统集成、数据信息融合和产品全生命周期集成,将方方面面的…

国产真无线蓝牙耳机哪个好?国产半入耳蓝牙耳机推荐

近几年,生活中随处可见的有戴蓝牙耳机的人,而蓝牙耳机也因为使用更便捷、功能更先进受到了不少用户的喜爱。蓝牙耳机按照佩戴方式来划分,可以有入耳式、半入耳式、头戴式等。在此,我来给大家推荐几款国产半入耳蓝牙耳机&#xff0…

数字IC设计工程师是做什么的?

随着我国半导体产业的发展,近几年的新入行的从业人员,除了微电子相关专业的,还有就是物理、机械、数学、计算机等专业,很多人对这一高薪行业充满了好奇,那么数字IC设计工程师到底是做什么的? 首先来看看数…

每日一题——L1-069 胎压监测(15)

L1-069 胎压监测 分数 15 小轿车中有一个系统随时监测四个车轮的胎压,如果四轮胎压不是很平衡,则可能对行车造成严重的影响。 让我们把四个车轮 —— 左前轮、右前轮、右后轮、左后轮 —— 顺次编号为 1、2、3、4。本题就请你编写一个监测程序&#…

如何通过一台 iPhone 申请一个 icloud 邮箱账号 后缀为 @icloud.com

总目录 iOS开发笔记目录 从一无所知到入门 文章目录需求关键步骤步骤后续需求 在 iPhone 自带的邮箱软件中添加账号,排第一位的是 iCloud 邮箱: 选 iCloud 之后: 提示信息是exampleicloud.com,也就是说是有icloud.com为域的邮箱…

ElementUI--Dialog 弹框的使用

第一步&#xff1a;从官方文档中拷贝一个对话框到你的页面中 <el-dialog title"为中华民族之崛起而学习" :visible.sync"dialogVisible" width"30%" :fullscreen"false" :close-on-press-escape"false" show-close:close…

【蓝桥集训】第六天——递归

作者&#xff1a;指针不指南吗 专栏&#xff1a;Acwing 蓝桥集训每日一题 &#x1f43e;或许会很慢&#xff0c;但是不可以停下来&#x1f43e; 文章目录1.树的遍历2.递归求阶乘3.求斐波那契数列1.树的遍历 一个二叉树&#xff0c;树中每个节点的权值互不相同。 现在给出它的后…