centos 8.3 dotnet /lib64/libstdc++.so.9: version ‘GLBCXX_3.4.20‘ not found(required by dotnet)

在 CentOS 8.3 上运行 .NET 程序时,如果遇到类似于 /lib64/libstdc++.so.9: version ‘GLBCXX_3.4.20’ not found (required by …) 的错误,通常是因为系统中缺少特定版本的 GNU Standard C++ Library (libstdc++)。GLIBCXX_3.4.20 是 libstdc++ 库的一部分,某些软件可能依赖于该版本的功能。

解决方法:

  1. 更新 libstdc++ 库:
    您可以尝试更新系统中的 libstdc++ 包,以确保安装了包含 GLIBCXX_3.4.20 版本的库。使用以下命令更新 libstdc++ 包:
sudo yum update libstdc++
  1. 安装兼容的 GCC 版本:
    如果更新 libstdc++ 后问题仍未解决,您可能需要安装一个兼容的 GCC 版本。安装较新版本的 GCC 通常会包含所需的 libstdc++ 版本。
sudo yum install gcc

在安装后,您可以检查已安装的 libstdc++.so 文件的版本:

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

确保 GLIBCXX_3.4.20 版本在列表中。

  1. 安装开发工具包 (Development Tools):
    如果您的系统是全新安装的,可能缺少一些开发工具和库。您可以通过安装 Development Tools 包来解决这个问题:
sudo yum groupinstall "Development Tools"
  1. 使用特定版本的 libstdc++.so:
    在某些情况下,您可能需要手动下载并使用特定版本的 libstdc++.so。如果系统的包管理器无法提供合适的版本,您可以考虑从源代码编译或从其他来源获取合适的 libstdc++.so.6,并将其放置在一个应用程序可以找到的路径中。

猜你喜欢

转载自blog.csdn.net/qq_25482087/article/details/141558551