Bootstrap

dotnetcore工程师专用工具箱/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found (required by dotnet)

1.下载最新的稳定版本,长期支持版本LTS

.NET 下载(Linux、macOS 和 Windows)

2.linux系统解压压缩包

tar -zxvf /usr/local/software/dotnet8/dotnet-sdk-8.0.404-linux-x64.tar.gz -C /usr/local/software/dotnet8

3.建立软链接报错(多版本共存)

ln -s /usr/local/software/dotnet8/dotnet /usr/local/bin
软连接指向时报错:ln: failed to create symbolic link ‘/usr/local/bin/dotnet’: File exist

4.重新解压到原来的安装目录

(1)下载最新.netcore环境
    https://dotnet.microsoft.com/zh-cn/download/dotnet
(2)升级版本,解压即可:
    tar -zxvf /data/dotnet-sdk-8.0.404-linux-x64.tar.gz -C /usr/share/dotnet
(3)查看是否包含了最新版本dotnet --list-runtimes
(4)下载缺失的组件:
    https://download.csdn.net/download/AngelCryToo/90052915
(5)上传组件文件libstdc.so.6.0.26到/usr/lib64
(6)备份原组件mv libstdc++.so.6 /data
(7)做软链接
    ln -s libstdc++.so.6.0.26 libstdc++.so.6

5.检查安装状态

dotnet --list-runtimes

【报错】
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)

6.查看系统版本

cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"

7.手动安装更新版本的 GCC 和 libstdc++【千万不要这么干!!!!】

下载 GCC 源码

wget http://ftp.gnu.org/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz

tar -xzf gcc-9.3.0.tar.gz cd gcc-9.3.0

cd gcc-9.3.

安装构建依赖:【不好使,不知道为什么!】

sudo yum install -y gcc make gmp-devel mpfr-devel libmpc-devel

编译和安装 GCC

./contrib/download_prerequisites

mkdir build && cd build

../configure --prefix=/usr/local/gcc-9.3 --disable-multilib

make -j$(nproc)  【我快运行1个小时了!!!!】

sudo make install

更新环境变量: 设置路径以使用新版本:

export PATH=/usr/local/gcc-9.3/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc-9.3/lib64:$LD_LIBRARY_PATH

8.最佳方案【亲测有效】

libstdc++.so.6.0.26的下载地址:

https://download.csdn.net/download/AngelCryToo/90052915

其实就是下载一个libstdc++.so.6.0.26 放到 usr/lib64下,
然后做一个软连接所有访问libstdc++.so.6指向libstdc++.so.6.0.26
就能让net8 在 centos 07 上成功部署以及运行

下载链接: libstdc.so.6.0.26 将压缩包放置/usr/lib64目录下
cd /usr/lib64
unzip libstdc.so_.6.0.26.zip
rm libstdc++.so.6【不建议删除,可以备份到一个目录,有问题了,可以恢复】
ln -s libstdc++.so.6.0.26 libstdc++.so.6

;