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

点云编码遇GLIBCXX_3.4.29缺失报错,更新环境后仍未解决求助

解决libstdc++.so.6缺失GLIBCXX_3.4.29版本的问题

问题场景

我在开展点云编解码器相关工作,执行以下编码命令时:

$ python vmuc.py compress /home2/kubra/JPEG/Stanford_Area_2.ply ../models/Geometry-only/Codec/0.00025/checkpoint_best_loss.pth.tar ../results/G0.00025

反复出现报错,核心错误信息为:

ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /home/kubra/anaconda3/envs/myenv/lib/python3.9/site-packages/scipy/spatial/_ckdtree.cpython-39-x86_64-linux-gnu.so)

已尝试更新libstdc++、创建新Python环境并更新依赖包,但问题仍未解决。

可行解决办法

  • 优先调用conda环境内的libstdc++
    你的scipy是conda环境中安装的,系统libstdc++版本不足,可通过环境变量让程序优先加载conda环境内的库:

    1. 找到conda环境下的libstdc++.so.6路径,示例路径为/home/kubra/anaconda3/envs/myenv/lib/libstdc++.so.6
    2. 执行命令前设置环境变量:
    export LD_PRELOAD=/home/kubra/anaconda3/envs/myenv/lib/libstdc++.so.6
    python vmuc.py compress /home2/kubra/JPEG/Stanford_Area_2.ply ../models/Geometry-only/Codec/0.00025/checkpoint_best_loss.pth.tar ../results/G0.00025
    

    也可将该环境变量添加到conda环境的激活脚本中,实现自动生效。

  • 降级scipy到适配版本
    高版本scipy对libstdc++要求较高,可安装低版本scipy(如1.7.x系列,对GLIBCXX要求低于3.4.29):

    conda activate myenv
    pip uninstall scipy -y
    pip install scipy==1.7.3
    

    安装完成后重新运行原命令测试。

  • 手动更新系统libstdc++(需root权限)
    若拥有服务器root权限,可手动替换系统的libstdc++文件:

    1. 先备份原文件:
    sudo cp /lib/x86_64-linux-gnu/libstdc++.so.6 /lib/x86_64-linux-gnu/libstdc++.so.6.bak
    
    1. 复制conda环境中的库到系统目录:
    sudo cp /home/kubra/anaconda3/envs/myenv/lib/libstdc++.so.6 /lib/x86_64-linux-gnu/
    

    注意:此操作可能影响系统其他程序,务必先备份。

  • 从源码编译scipy
    若上述方法无效,可在当前conda环境中从源码编译scipy,适配系统libstdc++版本:

    conda activate myenv
    pip uninstall scipy -y
    # 安装编译依赖
    conda install gcc_linux-64 gxx_linux-64
    # 源码安装scipy
    pip install scipy --no-binary :all:
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 06:01:46