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

如何解决树莓派上ImportError: GLIBCXX_3.4.29未找到的问题?

解决树莓派上tflite-runtime依赖GLIBCXX_3.4.29缺失的问题

问题原因

树莓派系统预装的libstdc++.so.6版本过低,缺少tflite-runtime所需的GLIBCXX_3.4.29版本符号,导致动态链接失败。

解决方案

方案一:更新系统及libstdc++库(优先尝试)

  1. 更新系统包索引并升级所有软件包:
    sudo apt update && sudo apt upgrade -y
    
  2. 重新安装或升级libstdc++6:
    sudo apt install --reinstall libstdc++6
    
  3. 验证版本是否达标:
    strings /lib/arm-linux-gnueabihf/libstdc++.so.6 | grep GLIBCXX
    
    输出中如果包含GLIBCXX_3.4.29,说明更新成功。

方案二:安装兼容版本的tflite-runtime

如果系统更新后仍无法满足版本要求(比如旧版Raspbian系统),可以选择安装对libstdc++版本要求较低的tflite-runtime版本:

pip install tflite-runtime==2.8.0

注:可根据实际情况调整版本号,比如2.7.0、2.6.0等,优先选择适配ARM架构的稳定版本。

方案三:手动编译更新libstdc++(适合有编译经验的用户)

如果前两种方案无效,可手动编译高版本gcc以更新libstdc++:

  1. 安装编译依赖:
    sudo apt install build-essential gcc-multilib
    
  2. 下载gcc-11源码(GLIBCXX_3.4.29由gcc-11引入):
    wget https://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz
    
  3. 解压并编译:
    tar -xf gcc-11.2.0.tar.gz
    cd gcc-11.2.0
    ./contrib/download_prerequisites
    mkdir build && cd build
    ../configure --prefix=/usr/local --enable-languages=c,c++ --disable-multilib
    make -j4  # 根据树莓派核心数调整,比如4核用-j4,2核用-j2
    sudo make install
    
  4. 更新系统链接库:
    sudo ldconfig
    
  5. 再次验证版本是否包含GLIBCXX_3.4.29。

验证修复

完成上述任一方案后,重新运行你的预测脚本:

python3 model.py image_path

确认错误消失,脚本正常输出预测结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 16:05:02