解决Centos下libstdc++.so.6: version `GLIBCXX_ 及ImportError: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /usr/lib64/libstdc++.so.6)问题

By Heanny
2019-5-22
1080 read

http://ftp.gnu.org/gnu/glibc/下载相应版本,如glibc-2.19.tar.gz(2.2*安装可能会有问题*** These critical programs are missing or too old: as GNU ld bison compiler)

安装

$ mkdir build// 在glibc-2.19目录下建立build文件夹
$ cd build// 进入build目录
$ ../configure --prefix=/opt/glibc-2.19 // 配置glibc并设置当前glibc-2.19安装目录
$ make && make install// 编译安装glibc-2.19库


然后

http://ftp.de.debian.org/debian/pool/main/g/gcc-4.9/  选择自己需要的libstdc++版本。如 libstdc++6_4.9.2-10+deb8u1_amd64.deb(别问我为什么,6,7,8,9这些版本安装有问题,我太笨)


下载


wget http://ftp.de.debian.org/debian/pool/main/g/gcc-4.9/libstdc++6_4.9.2-10+deb8u1_amd64.deb


解压


ar -x libstdc++6_4.9.2-10+deb8u1_amd64.deb
tar -xvf data.tar.xz

在这里插入图片描述

(图源见水印,因为博主忘了截图了,但是方法是亲身安装成功)

可以看到解压出来的文件中有一个libstdc++.so.6.0.20,这正是我们需要的东西。接下来只要把它替换掉现有的低版本的库即可


cd /usr/lib64
ll stdlibc++*



可以看到当前libstdc++so.6指向13的版本,接下来把刚刚的高版本的复制到这里并重建软链即可


cp ~/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 .
mv libstdc++.so.6 libstdc++.so.6.bak
ln -s libstdc++.so.6.0.20 libstdc++.so.6


django models中使用JSONField数据类型
flask简单上传demo

Comments

Heanny #1

最简单的方法,直接升级系统

Leave a Reply