You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core 8在Ubuntu 23.10中提示GLIBCXX_3.4.29缺失问题求助

解决dotnet ef database update时libhostfxr.so加载失败问题

执行dotnet ef database update进行数据库迁移时,出现以下错误:

Failed to load /usr/lib/dotnet/host/fxr/8.0.2/libhostfxr.so, error: /snap/core20/current/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /usr/lib/dotnet/host/fxr/8.0.2/libhostfxr.so)
The library libhostfxr.so was found, but loading it from /usr/lib/dotnet/host/fxr/8.0.2/libhostfxr.so failed

  • Installing .NET prerequisites might help resolve this problem.

已通过strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX确认系统存在GLIBCXX_3.4.29版本,且尝试过系统更新、升级及安装build-essential,问题仍未解决。

可行解决方法

1. 临时指定正确的库加载路径

执行命令前先设置环境变量,让dotnet优先调用系统的libstdc++库:

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
dotnet ef database update

若需永久生效,将上述export命令添加到~/.bashrc或~/.zshrc文件中,再执行source ~/.bashrc(对应shell配置文件)使其生效。

2. 消除snap环境的库干扰

错误提示指向snap/core20的旧版库,可通过以下方式处理:

  • 卸载snap版.NET,改用官方deb包安装:
    sudo snap remove dotnet-sdk
    sudo apt remove dotnet* aspnetcore*
    sudo apt update
    sudo apt install dotnet-sdk-8.0
    
  • 或替换snap的libstdc++链接为系统版本:
    sudo mv /snap/core20/current/lib/x86_64-linux-gnu/libstdc++.so.6 /snap/core20/current/lib/x86_64-linux-gnu/libstdc++.so.6.bak
    sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /snap/core20/current/lib/x86_64-linux-gnu/libstdc++.so.6
    

3. 重装.NET Host组件

若Host组件损坏,尝试重新安装:

sudo apt install --reinstall dotnet-host-8.0

内容的提问来源于stack exchange,提问作者Igor Evdokimov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 21:57:03