CentOS 7.9 解决 `GLIBCXX_3.4.21' not found (required by dotnet)

今天把CentOS 7.9系统的Linux服务器上的net core环境做了升级,升级到最新9.0版本,在安装时就遇到了问题,提示如下:

dotnet: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by dotnet)dotnet: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by dotnet)rm: cannot remove ‘net9.0.100-x64.sh’: No such file or directory

这是因为CentOS版本太低或者缺少libstdc++.so.6版本 GLIBCXX_3.4.20和GLIBCXX_3.4.21

文件下载地址:

下载后将libstdc++.so.6.0.30文件放到/usr/lib64/目录下。

然后先删除原有的/usr/lib64/libstdc++.so.6这个符号链接,并创建相应的符号链接,最后更新系统的共享库缓存:

sudo rum /usr/lib64/libstdc++.so.6
sudo ln -s /usr/lib64/libstdc++.so.6.0.30 /usr/lib64/libstdc++.so.6
sudo ldconfig

然后再运行dotnet --version命令查看,这个时候有可能会下面错误。

使用下面的代码进行安装库

sudo yum install libicu

再次运行dotnet --version就正常了。

image