GLIBCXX_3.4.20 not found 问题解决

2023-10-23 14:28:48 浏览数 (1)

前因

最近在编译leveldb时,碰到一个问题:GLIBCXX_3.4.20 not found, 这个提示已经比较明显了,是本地缺少重要的二进制LIB库文件。

本地的二进制文件一般在/usr/lib64下面,因为我使用的是64位系统。

处理

查看本地系统的 GLIBCXX_版本

代码语言:javascript复制
strings /usr/lib64/libstdc  .so.6 | grep GLIBCXX

结果:

代码语言:javascript复制
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH

刚好到 3.4.19,就是没有 3.4.20

三种解决思路

1.在本机上找

如果找到的话,就可以直接使用

代码语言:javascript复制
find / -name "libstdc  .so*"

找到libstdc .so.6.0.25这个包。

先备份原来的文件,如果新的组件有问题,就扑街了,再将找到的文件放入/usr/lib64,重新建立软链接。 先备份原来的包,

代码语言:javascript复制
mv libstdc  .so.6 ~/libstdc  .so.6.bak
ln -snf libstdc  .so.6.0.25 libstdc  .so.6

2.手动下载

系统中没有的话,只能自己下载了

代码语言:javascript复制
wget https://adbin.top/packages/lib64.tar.gz

可以自动选择缺失部份: https://pkgs.org/download/libstdc .so.6

3.yum 安装缺失文件

代码语言:javascript复制
sh-4.2# yum provides libstdc
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: download.cf.centos.org
 * extras: download.cf.centos.org
 * updates: download.cf.centos.org
No matches found

0 人点赞