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

树莓派2(DietPi系统)启动libcamera遇未定义符号错误求助

解决libcamera-vid符号查找错误问题

问题概况

在树莓派2(DietPi系统)执行libcamera推流命令:

libcamera-vid -t 0 --width 1920 --height 1080 --codec h264 --inline --listen -o tcp://0.0.0.0:8888

触发符号查找错误:

libcamera-vid: symbol lookup error: /lib/arm-linux-gnueabihf/libcamera_app.so: undefined symbol: _ZNK9libcamera11ControlList8containsERKNS_9ControlIdE

相机硬件可正常工作,已多次重装libcamera相关组件,安装流程参考官方指南。

可行解决步骤

  • 校验版本兼容性:树莓派2基于ARMv7架构,需确保安装的libcamera及依赖是针对ARMv7编译的,避免误装ARMv8(树莓派3/4+)版本。DietPi软件源可能存在架构混装情况,需手动指定ARMv7版本重新安装。
  • 彻底清理后源码编译:
    1. 完全卸载现有libcamera相关包:
      sudo apt purge libcamera* libcamera-apps*
      sudo apt autoremove --purge
      sudo rm -rf /usr/local/lib/libcamera* /usr/local/bin/libcamera-*
      
    2. 编译适配ARMv7的libcamera:
      sudo apt install build-essential meson ninja-build pkg-config libyaml-dev libssl-dev libboost-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
      git clone https://git.libcamera.org/libcamera/libcamera.git
      cd libcamera
      meson setup build -Dpipelines=rpi/vc4 -Dipas=rpi/vc4 -Dv4l2=true -Dgstreamer=enabled -Dtest=false
      ninja -C build
      sudo ninja -C build install
      
    3. 编译libcamera-apps:
      git clone https://github.com/raspberrypi/libcamera-apps.git
      cd libcamera-apps
      meson setup build
      ninja -C build
      sudo ninja -C build install
      
  • 调整库加载优先级:用ldd /usr/local/bin/libcamera-vid查看依赖路径,确认本地编译的库(/usr/local/lib)优先加载。临时设置环境变量测试:
    export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
    
    若测试有效,可将该变量添加到~/.bashrc或/etc/profile中持久化。
  • 更新DietPi系统:确保系统处于最新状态,避免因系统库版本过低引发兼容问题:
    sudo dietpi-update
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 14:36:18