解决linux中libc.so.6、libstdc++.so : version `GLIBC_x.x‘、CXXABI_x.x not found

97次阅读
没有评论

解决libstdc++.so: version `CXXABI_x.x’、GLIBCXX_x.x not found

方案: 查找本机其他位置新版本替代 a.执行以下命令,查找编译gcc时生成的最新动态库 find / -name “libstdc++.so”,选择最高版本,我的是*so.6.0.26 b.如果找不到合适版本, 可以安装Anconda[自行百度],安装完再find一定会有新版so; c. 找到新版so.6.0.26 后cp拷贝到执行bash提示缺失的文件夹位置,也即libstdc++.so.0.6所在文件夹位置。 d. cp后,mv移除连接libstdc++.so.0.6,然后新建: mv libstdc++.so.6 libstdc++.so.6.bak ln -s libstdc++.so.6.0.26 libstdc++.so.6

查看版本 strings /路径/libstdc++.so.6 | grep CXXABI

安装glibc解决libc.so.6: version `GLIBC_x.x’ not found

wget https://ftp.gnu.org/gnu/glibc/glibc-2.25.tar.gz
tar -zxvf glibc-2.29.tar.gz
cd glibc-2.29
mkdir build;
cd build
…/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make -j 4
make install

查看安装后版本信息: strings /lib64/libc.so.6 | grep GLIBC

make可能遇到的错误:unbuntu 用apt-get 、centos 用yum作为安装器

fatal error: asm/unistd.h: No such file or directory

解决办法:apt-get install gobjc-multilib

运行:strings /lib64/libc.so.6 |grep GLIBC_

发现没有GLIBC_2.29

下载:wget http://mirrors.ustc.edu.cn/gnu/libc/glibc-2.29.tar.gz

解压:tar -zxvf glibc-2.29.tar.gz

进入解压文件夹,创建文件夹build:

mkdir build

cd build

运行configure配置,make,sudo make install

../configure --prefix=/usr

make -j4

sudo make install