RDK3.5.0,在部署官方库里的paddle ocr model的时候发生报错libhbucp.so不存在

执行paddle ocr 里面的run.sh失败, 报错信息:RuntimeError: Missing Horizon runtime libraries (provided by the ‘hobot-dnn’ package):

  • libhbucp.so (Horizon UCP library) - libhbucp.so: cannot open shared object file: No such file or directory

我的设备是RDKx5,系统是3.5.0

下载hobot-dnn 和 hbm-runtime都失败了,都显示找不到package

根据社区已有案例和最新信息,您遇到的问题是 RDK 3.5.0 系统中 hobot-dnn Python 包与底层运行时库不匹配导致的。

:magnifying_glass_tilted_left: 问题原因

  1. libhbucp.so 是 Horizon BPU 底层通信库,包含在系统级运行时包中
  2. RDK 3.5.0 是新版本,Python 包与底层库的打包方式可能有变化
  3. 您通过 pip 安装的 hobot-dnn 与系统 apt 提供的底层库不匹配

:hammer_and_wrench: 解决方案

步骤 1:卸载 pip 版本,检查系统包

# 卸载 pip 安装的版本
pip3 uninstall hobot-dnn -y

# 查看系统已安装的 hobot 相关包
dpkg -l | grep -E "hobot|hbm|horizon"

# 查看 hobot-dnn deb 包包含的文件
dpkg -L hobot-dnn | grep "\.so"

步骤 2:搜索 3.5.0 正确的 Python 包名

# 搜索所有 hobot 相关的 Python 包
apt search hobot | grep -i python

# 或列出所有可用包
apt list | grep hobot

可能的包名(3.5.0 可能变更):

  • python3-hobot-dnn
  • hobot-dnn-python3
  • hobot-dnn-runtime-python

步骤 3:重装系统包并验证

# 更新源
sudo apt update

# 重装 hobot-dnn
sudo apt install --reinstall hobot-dnn

# 刷新动态库缓存
sudo ldconfig

# 验证库是否注册
ldconfig -p | grep -E "dnn|hbucp"

# 查找 libhbucp.so
sudo find /usr /opt -name "libhbucp.so" 2>/dev/null

步骤 4:如果仍找不到 Python 包

如果 apt search 找不到 Python 包,说明 3.5.0 版本可能还未发布完整的 Python 绑定。建议:

  1. 查看官方文档RDK X5 SDK 安装文档
  2. 在社区追问:参考已有帖子 RDK X5 缺少 libhbucp.so,管理员 Marcelo6151 正在跟进
  3. 临时方案:如项目紧急,可考虑使用 3.4.1 系统镜像(已验证可用)

:pushpin: 关键提示

  • 不要混用 pip 和 apthobot-dnn 是地平线私有包,不在公共 PyPI 源
  • 检查软件源配置:确保 /etc/apt/sources.list.d/ 中有正确的 X5 源
  • 环境变量:如果找到库文件但报错,可能需要设置 LD_LIBRARY_PATH

:loudspeaker: 建议

请先执行上述诊断命令,将输出结果回复到您的帖子中,或参考 已有讨论帖 获取最新进展。3.5.0 是较新版本,官方可能还在完善 Python 包的支持。

需要确认是否使用对应分支内容 hbm-runtime 为X5自带