CentOS 7.9 运行某些软件时缺少GLIBCXX_3.4.21、GLIBC_2.28解决办法
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)
这可能是因为CentOS版本太低或者缺少libstdc++.so.6
版本 GLIBCXX_3.4.20
和 GLIBCXX_3.4.21
可以在百度网盘下载,链接:https://pan.baidu.com/s/1dMt94wW4JM3kq5lKn7PE6w?pwd=ee7h提取码:ee7h
下载后上传至服务器,而后解压
cd /home/net8hj tar -zxvf /home/net8hj/net8需要的环境libstdc.so-.6.0.26_c.gz
然后,检查一下目录中是否有 libstdc++.so.6.0.26
文件:
ls /home/net8hj/libstdc++.so.6.0x64_cwj/
然后先删除原有的/usr/lib64/libstdc++.so.6
这个符号链接,在把这个文件复制到系统的库目录,并创建相应的符号链接,最后更新系统的共享库缓存:
sudo rm /usr/lib64/libstdc++.so.6 sudo ln -s /usr/lib64/libstdc++.so.6.0.26 /usr/lib64/libstdc++.so.6 sudo ldconfig
然后在运行dotnet --version命令查看
补充:如果没有安装libstdc++可以先安装libstdc++
sudo yum install libstdc++
cannot open shared object file: No such file or directory /lib64/libc.so.6: version `GLIBC_2.28' not found
解决办法:
安装Devtoolset软件包: sudo yum install centos-release-scl sudo yum install devtoolset-8-toolchain 启用Devtoolset环境: sudo scl enable devtoolset-8 bash yum install -y bison 查看编译环境步骤 1:yum update ---重要 3:ldd --version ---查看 输出:ldd (GNU libc) 2.28 4:make -v ---查看,版本过低考虑升级版本 输出:GNU Make 4.2.1 5: gcc -v ---查看,版本过低考虑升级版本 输出:gcc version 8.5.0 20210514 (Red Hat 8.5.0-10) (GCC) 6:python3 -V ---查看 输出:Python 3.6.8 开始下载并编译 mkdir glibc cd glibc wget https://ftp.gnu.org/gnu/libc/glibc-2.28.tar.gz tar -xvf glibc-2.28.tar.gz cd glibc-2.28 mkdir build && cd build ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin make -j 8 make install 此处可能出现两个错误: make[1]: *** [Makefile:111: install] Error 1 make[1]: Leaving directory '/opt/glibc-2.29' make: *** [Makefile:12:install] 错误 2 不用管他 查询是否升级成功 ls -l /lib64/libc.so.6 strings /lib64/libc.so.6 | grep GLIBC ldd --version