解决“libstdc++.so.6: version `GLIBCXX_3.4.18' not found”

本文介绍了解决Centos上因libstdc++.so.6及libc.so.6版本缺失导致程序无法启动的问题。通过安装特定版本的GCC和GLIBC,并设置环境变量最终解决了版本不匹配的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

libstdc++.so.6: version GLIBCXX_3.4.18' not found
libc.so.6: version
GLIBC_2.14’ not found

这里写图片描述

在Centos上启动某程序的时候报上面的错误。

分别查看c++,c库包含的版本

strings /usr/lib64/libstdc++.so.6 |grep GLIBC

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
GLIBC_2.2.5
GLIBC_2.3
GLIBC_2.4
GLIBC_2.3.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

strings /lib64/libc.so.6 |grep GLIBC

GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE

均不包含错误提示的版本。

分别安装gcc5.5.0和glibc2.14

wget ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-5.5.0/gcc-5.5.0.tar.gz
tar -zxvf gcc-5.5.0.tar.gz
cd gcc-5.5.0
./configure --prefix=/data/apps/gcc5.5.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j4
make install
wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
tar -zxvf glibc-2.14.tar.gz
cd glibc-2.14
mkdir build
cd build
../configure --prefix=/data/apps/glibc2.14
make -j4
make install

加入环境变量

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/apps/gcc5.5.0/lib64:/data/apps/glibc2.14/lib

再启动该程序,问题解决。

另外,按照网上一些blog的方法,我采用软链接的方式,失败,linode主机自动还原的我创建的软链接,不知道这是否是是linode的安全机制。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值