错误
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
验证是否有指定版本。
文档:`GLIBC_2.18' not found and `CXXABI_1...
libstdc++.so.6.0.22 下载
链接:http://note.youdao.com/noteshare?id=75b92d0f9b51f5c147447188372566e6&sub=4854C556C8964BA9A70296BCE07C511D
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