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

导入TVM时提示GLIBCXX_3.4.30未找到的问题求助

解决TVM导入时GLIBCXX_3.4.30缺失的问题

这个错误的核心原因是你的Anaconda环境自带的libstdc++.so.6版本低于TVM编译时依赖的版本,运行时Anaconda的库被优先加载导致版本冲突。以下是几种可行的解决方法:

方法一:优先加载系统的高版本libstdc++

  1. 先检查系统的libstdc++.so.6是否包含GLIBCXX_3.4.30:

    strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.30
    

    (如果是ARM架构,路径改为/usr/lib/aarch64-linux-gnu/libstdc++.so.6)

  2. 如果输出包含GLIBCXX_3.4.30,说明系统库满足要求,只需让Python优先加载系统库:

    • 临时生效:运行TVM前执行
      export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
      python -c "import tvm"
      
    • 永久生效:编辑Anaconda环境的激活脚本(没有则创建)~/anaconda3/envs/tvm-build/etc/conda/activate.d/env_vars.sh,添加:
      export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
      
      之后每次激活tvm-build环境都会自动应用这个设置。

方法二:更新系统的libstdc++库

如果系统库没有GLIBCXX_3.4.30,需要更新:

  • Debian/Ubuntu系统:
    sudo apt update && sudo apt install --only-upgrade libstdc++6
    
  • 若上述命令无法更新到足够版本,可添加Ubuntu工具链源后再更新:
    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    sudo apt update && sudo apt install libstdc++6
    

方法三:用Anaconda环境的gcc重新编译TVM

确保TVM编译和运行使用同一版本的libstdc++:

  1. 激活你的tvm-build环境,安装适配的gcc:
    conda activate tvm-build
    conda install gcc_linux-64
    
  2. 重新配置TVM的CMake编译选项,指定使用环境内的gcc:
    cd tvm/build
    rm -rf *
    cmake -DCMAKE_C_COMPILER=$CONDA_PREFIX/bin/gcc -DCMAKE_CXX_COMPILER=$CONDA_PREFIX/bin/g++ ..
    make -j$(nproc)
    
  3. 重新安装TVM的Python包后再测试导入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 14:09:21