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

未设置LD_LIBRARY_PATH时ldd为何无法找到/usr/local/lib64下的libstdc++

解决方案

核心原因是动态链接器的库搜索优先级问题:当前系统默认的/lib/aarch64-linux-gnu路径搜索顺序排在你新增的/usr/local/lib64前面,动态链接器找到第一个匹配的旧版libstdc++.so.6就会停止搜索,所以不会加载你安装的gcc11对应的新版库。按以下步骤操作即可解决:

  • 调整库路径搜索优先级,二选一即可:
    1. 编辑/etc/ld.so.conf文件,将/usr/local/lib64添加到文件的最开头位置
    2. 把你创建的/etc/ld.so.conf.d/gcc-11.2.0.conf重命名为/etc/ld.so.conf.d/00-gcc-11.2.0.conf,Debian系系统会按文件名的字典序加载配置文件,00开头的配置优先级最高
  • 执行sudo ldconfig刷新动态链接库缓存
  • 验证配置是否生效,运行命令:
    ldconfig -p | grep libstdc++.so.6
    
    输出的第一行如果是libstdc++.so.6 (libc6,AArch64) => /usr/local/lib64/libstdc++.so.6就说明配置成功,此时直接运行你的程序无需指定LD_LIBRARY_PATH即可正常加载新版库。

内容的提问来源于stack exchange,提问作者Come Raczy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:36:03