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

4make -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:12install] 错误 2

不用管他

查询是否升级成功
ls -l /lib64/libc.so.6
strings /lib64/libc.so.6 | grep GLIBC
ldd --version

 

posted on 2024-08-18 14:13  andywu188  阅读(235)  评论(0编辑  收藏  举报

导航