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

树莓派运行TensorFlow Lite目标检测Demo遇GLIBCXX_3.4.29缺失错误求助

树莓派TensorFlow Lite目标检测Demo的GLIBCXX版本问题解决

问题背景

在树莓派Bullseye系统上运行TensorFlow Lite目标检测Demo,已完成pip install tflite-support、pip install opencv-python及sh setup.sh依赖安装且无报错,但执行python3 detect.py --model efficientdet_lite0.tflite时触发ImportError:/lib/arm-linux-gnueabihf/libstdc++.so.6缺少GLIBCXX_3.4.29版本,当前系统仅支持至GLIBCXX_3.4.28。


1. 如何解决该错误使程序正常运行?

提供三种可行方案:

  • 降级tflite-support版本:最新版tflite-support依赖更高GLIBCXX版本,安装适配Bullseye的旧版本即可,执行:
    pip install tflite-support==0.4.3
    
  • 手动替换libstdc++.so.6库:
    1. 下载ARM架构的GCC 11预编译包,解压后找到libstdc++.so.6.0.29文件
    2. 备份系统原文件:
      sudo cp /lib/arm-linux-gnueabihf/libstdc++.so.6 /lib/arm-linux-gnueabihf/libstdc++.so.6.backup
      
    3. 复制新库文件到系统目录:
      sudo cp path/to/libstdc++.so.6.0.29 /lib/arm-linux-gnueabihf/
      
    4. 更新软链接:
      sudo ln -sf /lib/arm-linux-gnueabihf/libstdc++.so.6.0.29 /lib/arm-linux-gnueabihf/libstdc++.so.6
      
  • 使用独立conda环境:安装miniforge后创建独立环境,conda会自动管理依赖库版本,避免系统库冲突。

2. 运行TFLite是否必须升级GCC?

不需要。只要使用适配当前系统GCC版本的tflite-support旧版本,或通过替换libstdc++.so.6库的方式,无需升级整个GCC编译器。仅当你需要编译依赖高版本GCC特性的TFLite源码或扩展时,才需要升级GCC。

3. 若需升级GCC,是否必须从源码编译?

不需要,有两种更简便的方式:

  • 通过apt第三方源安装:
    1. 编辑apt源列表:
      sudo nano /etc/apt/sources.list
      
    2. 添加Debian Testing的源码源(如deb-src http://deb.debian.org/debian testing main)
    3. 更新源并安装GCC 11:
      sudo apt update && sudo apt install gcc-11 g++-11
      
    4. 设置默认GCC版本:
      sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100
      
  • 使用预编译二进制包:下载ARM架构的预编译GCC包,解压后配置环境变量即可直接使用,跳过源码编译步骤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 21:47:18