Centos7运行.Net8报错/lib64/libstdc++.so.6: version GLIBCXX_3.4.20 not found
*.运行命令/usr/bin/dotnet8 --info出现了如下2个错误解决方法就是更新libstdc.so.6因为libstdc.so.6缺失了“GLIBCXX_3.4.20”、“GLIBCXX_3.4.21”的链接库还有就是我的系统版本是Centos7.9默认的gcc版本较老。1.查看当前系统下的链接库内容命令如下:strings /usr/lib64/libstdc.so.6 | grep GLIBCXX查询结果如下发现少了GLIBCXX_3.4.20、GLIBCXX_3.4.21GLIBCXX_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_LENGTH2.升级libstdc相关命令如下(都是在root权限下执行的)yum provides libstdc.so.6cd /usr/local/lib64# 下载最新版本的libstdc.so_.6.0.26wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zipunzip libstdc.so_.6.0.26.zip# 将下载的最新版本拷贝到 /usr/lib64cp libstdc.so.6.0.26 /usr/lib64cd /usr/lib64# 查看 /usr/lib64下libstdc.so.6链接的版本ls -l | grep libstdc# 删除/usr/lib64原来的软连接libstdc.so.6删除之前先备份一份mv /usr/lib64/libstdc.so.6 /usr/lib64/libstdc.so.6.bakmv /usr/lib64/libstdc.so.6.0.19 /usr/lib64/libstdc.so.6.0.19.backup# 更新符号链接, 链接新的版本sudo ln -s libstdc.so.6.0.26 libstdc.so.6# 查看新版本运行命令如下strings /usr/lib64/libstdc.so.6 | grep GLIBCXX# 如果出现问题可以恢复备份mv /usr/lib64/libstdc.so.6.backup /usr/lib64/libstdc.so.6## 删除旧的软链接rm -f libstdc.so.6.bak如果出现以下错误强制创建软链接就可以了 sudo ln -sf libstdc.so.6.0.26 libstdc.so.6如下截图就是成功安装了以上就是我解决这个链接库找不到的全过程