/lib64/libc.so.6: version `GLIBC_2.18' not found (required by fd)

Linux系统
1029
linux
linux 举报
2022-02-16
错误

fd: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by fd)

glibc是gnu发布的libc库,即c运行库,glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。很多linux的基本命令,比如cp, rm, ll, ln等,都得依赖于它,如果操作错误或者升级失败会导致系统命令不能使用,严重的造成系统退出后无法重新进入,所以操作时候需要慎重。解决

1、下载文件 下载地址:https://mirrors.tuna.tsinghua.edu.cn/gnu/glibc/glibc-2.18.tar.gz

2、安装部署 解压 tar -zxvf glibc-2.18.tar.gz

创建编译目录 cd glibc-2.18 mkdir build

编译、安装

cd build/

 ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin make -j 8

make install

升级后可以通过strings /lib64/libc.so.6 | grep ^GLIBC验证是否有指定版本


安装 version `CXXABI_1.3.9' not found

https://bucket-ynote-online-cdn.note.youdao.com/weixinobU7Vjo68V49QGu_InMayWD2Lsk0%2F89291CC4E9164919B39EFA2AE04474A8?download=libstdc%252B%252B.so.6.0.22&Signature=AxwJdr9l1eDuzTWwsdF%2BJ8H%2BQK%2BGcJIczwJs14XOAx0%3D&Expires=1645002054&NOSAccessKeyId=e7d1acab859342789faa85a4b0cb4c83

libstdc++.so.6.0.22

出现这个问题的原因是没有链接到CXXABI库的最新的版本。

1,通过下面的命令查看/usr/lib64/下的动态库版本strings /usr/lib64/libstdc++.so.6 | grep 'CXXABI'

CXXABI_1.3

CXXABI_1.3.1

CXXABI_1.3.2

CXXABI_1.3.3

1.1 通过下面的命令查看gcc最新态库版 find / -name "libstdc++.so.*"

2, 从网上下载所需要的libstdc++.so.6.0.22版本。

3, libstdc++.so.6.0.22拷贝到/usr/lib64目录下。  

cp libstdc++.so.6.0.22 /usr/lib64/

4, 删除原来的libstdc++.so.6符号连接。  

rm -rf libstdc++.so.6

5, 新建新符号连接。  

ln -s libstdc++.so.6.0.22 libstdc++.so.6


倒序看帖 只看楼主
热点关注
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
服务停止、启动、重启一体化脚本,万能语言启动脚本
shell参数判断
在后台用进程名运行bash脚本
shell脚本每行后面多了一个^M的原因和解决办法
定时检测服务,检测down掉后重启。系统检测到DMSERVER运行正常
挂载磁盘的时候遇到一个问题,挂载完磁盘之后重启服务器挂载的盘丢失了.
中标麒麟系统Your trial is EXPIRED and no VALID licens
termux 开启ssh并用用户名和密码登陆
组成共享库的目标文件和一般的目标文件有所不同,在编译时要加-fPIC和-share选项,例如:
gcc指定链接库路径后还是找不到库文件
./configure -build,-host,-target设置
shell脚本每行后面多了一个^M的原因和解决办法
shell 中 if [ “x${var}“ == “x“ ] 中 x的作用
查看linux机器是32位还是64位的方法