升级libstdc++、libgcc_s.so、libc.so.6
参考资料:
https://blog.csdn.net/ltl451011/article/details/7763892/
https://blog.csdn.net/na_beginning/article/details/53413997
一、为什么要升级?
有时候在链接外部动态库的时候,会出以下类似的问题:
./bin/mysqld: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./bin/mysqld)
./bin/mysqld: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./bin/mysqld)
出现这种问题就是因为“编译库的编译器” 和 “编译当前程序的编译器” 版本是不一样的,在具体一点就是因为,当前程序的编译器的版本是比较低的,只要升级一下就可以了。
二、查询库的版本
1、
可通过strings /lib64/libc.so.6 | grep GLIBC_ 查看系统 GLIBC 支持的版本
可通过strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX 查看系统 GLIBCXX 支持的版本
2、指令安装的,可以这种查询方式
rpm -qa | grep gdb
rpm -qa |grep glibc
3、指令安装的,可以这种卸载方式(以卸载gdb为例)
rpm -e --nodeps gdb-7.2-83.el6.x86_64
二、libgcc_s.so跟libstdc++.so的升级,通过升级GCC来实现
1、下载GCC5.4.0的源码进行编译
GCC完成升级之后,在系统库目录下,删除旧库的软链接,创建新的软链接,指向新版本的库。
2、检查系统库目录,配置新的libstdc++.so
根据编译gcc时的配置,在指向目录下,找到生成的库为libstdc++.so.6.0.21
在系统库目录下 /lib64/ 检查存不存在libstdc++.so.6.0.21
不存在 则复制libstdc++.so.6.0.21 到 /lib64/
检查存不存在libstdc++.so的软连接,将旧的软链接全部删除掉。
创建新的软链接,指向 /lib64/libstdc++.so.6.0.21
检查其他的系统库目录
3、检查系统库目录,配置新的libgcc_s.so
仿照上面libstdc++.so的操作
三、libc.so.6升级
参考
https://blog.51cto.com/12077732/2125618
https://blog.csdn.net/superyzh/article/details/79472190
https://www.cnblogs.com/Mrhuangrui/p/7766554.html
https://www.jianshu.com/p/513e01fbd3e0
glibc是gnu发布的libc库,即c运行库,glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。
glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。
很多linux的基本命令,比如cp, rm, ll,ln等,都得依赖于它,如果操作错误或者升级失败会导致系统命令不能使用,
严重的造成系统退出后无法重新进入,所以操作时候需要慎重。
1、下载glibc的源码进行编译
wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
使用下面的镜像应该会快点
wget http://mirrors.ustc.edu.cn/gnu/libc/
2、检查系统库目录,配置新的libc.so
根据编译时的配置,在指向目录下,找到生成的库
检查系统库目录,删除旧库的软链接,创建新库的软链接。
问题:
1、https://blog.csdn.net/zhenyuhe/article/details/86737328
这种方式,相当于从网上下载了一个较新版本的libstdc++.so库,
替换了系统的旧库,这种方式没有进行验证。
升级libstdc++、libgcc_s.so、libc.so.6的更多相关文章
- libstdc++适配Xcode10与iOS12
编译报错 当你开心得升级完新 macOS,以及新 XCode,准备体验了一把 Dark Mode 编程模式,开心的打开自己的老项目的时候,发现编译不通过了╮(╯_╰)╭ 如果你的工程中如果依赖 lib ...
- centos6.x升级glibc-2.17
glibc glibc是GNU发布的libc库,即c运行库.glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc:它本身也提供了许多其它一些必要功能服务的实现: libc ...
- /lib64/libstdc++.so.6: version `CXXABI_1.3.8’ not found(转载)
原文地址:https://blog.csdn.net/EI__Nino/article/details/100086157 终极一战 绝命一击 ImportError: /lib64/libstdc+ ...
- centos6.7下安装mysql5.6.22同时解决中文乱码问题
1.下载 http://dev.mysql.com/downloads/mysql/ 或者使用wget下载: wget http://dev.mysql.com/get/Downloads/MySQL ...
- ubuntu下ldd,查看程序动态库信息
ldd list, dynamic, dependencies linux-vdso.so. => (0x00007ffe9d9b6000) libstdc++.so. => /usr/ ...
- undefined symbol: ap_log_rerror;apache2.4与weblogic点so文件
没法子啊:只能用 httpd-2.2.26 ============================== https://www.google.com.hk/#newwindow=1&q=un ...
- Linux下C++开发常用命令
本页面记录本人在Linux下进行C++开发时使用的常用命令,注意这里不包括比如ls,mv等linux命令,这里会持续更新.首先假设你只有一个源程序文件,叫vec.cpp,编译后的可执行程序叫vec(本 ...
- Linux安装mysql以及安装时踩下的坑
安装: 检测是否已经安装了mysql rpm -qa | grep mysql 如果已经安装了,将其卸载,如: rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86 ...
- MySQL安装在Linux
利用Alt+p工具将下载好的Linux版本的mysql软件加载到根目录. 1. 将下载好的MySQL文件MySQL-5.6.41-1.el6.i686.rpm-bundle.tar放到 根目录下的mk ...
随机推荐
- "<<"和“>>”运算
- map test
// mapTest.cpp : Defines the entry point for the console application. // #include "stdafx.h&quo ...
- 【坑】js语法中一些小细节 不注意也出坑 随笔记下 留待后查
1.switch case内 区分数字 与 字符 ',bl; switch(+lv){ :bl = 1.7;break; :bl = 1.55;break; :bl = 1.4;break; ; } ...
- 2018南京区域赛G题 Pyramid——找规律&&递推
先手动推出前10项,再上BM板子求出递推式 $A_n = 5A_{n-1} - 10A_{n-2} + 10A_{n-3} - 5A_{n-4} + A_{n-5}$,根据特征根理论可求出特征方程 $ ...
- 【题解】 洛谷 P2649 游戏预言
题目: P2649 游戏预言 题意: John和他的好朋基友们在van纸牌游戏.共有\(m\)个人.纸牌有\(n \times m\)张,从\(1--n \times m\)编号.每人有\(n\)张. ...
- hive基础知识三
1. 基本查询 注意 SQL 语言大小写不敏感 SQL 可以写在一行或者多行 关键字不能被缩写,也不能分行 各子句一般要分行写 使用缩进提高语句的可读性 1.1 全表和特定列查询 全表查询 selec ...
- LOJ3097 SNOI2019 通信 题解
题目链接 费用流,当建边需要依靠位置和权值两个偏序关系时,可以用cdq分治优化建边. 代码: #include<bits/stdc++.h> using namespace std; #d ...
- SpringBoot:使用Jenkins自动部署SpringBoot项目(二)具体配置
1.启动Jenkins 在浏览器输入ip:port后,进入Jenkins初始化界面,需要查看文件,得到密码. 输入密码进入初始化界面,选择推荐插件安装. 安装完成创建账号,进入Jenkins主界面. ...
- Pycharm 导入Selenium,出现错误
问题 导入Selenium,出现红色波浪线. 解决 点击Pycharm左上角File>setting>Project Interpreter,双击PIP,搜索栏搜索Selenium 然后选 ...
- JS字符串转换为JSON的四种方法
转自:https://www.cnblogs.com/hgmyz/p/7451461.html 1.jQuery插件支持的转换方式: 示例: $.parseJSON( jsonstr ); //jQ ...