*.运行命令/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.21:
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_DEBUG_MESSAGE_LENGTH2.升级libstdc++,相关命令如下(都是在root权限下执行的):
yum provides libstdc++.so.6
cd /usr/local/lib64
# 下载最新版本的libstdc.so_.6.0.26
wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip
unzip libstdc.so_.6.0.26.zip
# 将下载的最新版本拷贝到 /usr/lib64
cp libstdc++.so.6.0.26 /usr/lib64
cd /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.bak
mv /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
如下截图,就是成功安装了!!!
以上就是我解决这个链接库找不到的全过程!!