libstdc++.so.6: version `GLIBCXX_3.4.21' not found

时间:2024-08-14 12:06:50

问题:

dotnet: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by dotnet)
dotnet: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by dotnet)
dotnet: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by dotnet)
dotnet: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by dotnet)

运行以下命令检查动态库:

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
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

解决办法:

下载:

https://ubuntu.pkgs.org/16.04/ubuntu-main-amd64/libstdc++6_5.3.1-14ubuntu2_amd64.deb.html

下载下来之后,用如下命令开始解压

ar -x libstdc++6_7-20170302-1_i386.deb

tar xvf data.tar.xz

将上面的最新动态库(lib/i386-linux-gnu)libstdc++.so.6.0.23复制到/usr/lib64目录下,

cp libstdc++.so.6.0.23 /usr/lib64

切换工作目录至/usr/lib64:

cd /usr/lib64

删除原来软连接:

rm -rf libstdc++.so.6
将默认库的软连接指向最新动态库:

ln -s libstdc++.so.6.0.23 libstdc++.so.6
默认动态库升级完成。重新运行以下命令检查动态库:

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
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_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBC_2.0
GLIBC_2.3
GLIBC_2.18
GLIBC_2.16
GLIBC_2.1
GLIBC_2.17
GLIBC_2.1.3
GLIBC_2.3.2
GLIBC_2.2
GLIBCXX_DEBUG_MESSAGE_LENGTH

---------------------
作者:dream_ll
来源:****
原文:https://blog.****.net/dream_ll/article/details/61917252
版权声明:本文为博主原创文章,转载请附上博文链接!