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

YOCTO bitbake打包QA报错:已加RDEPENDS仍找不到libzlog.so.1.2依赖

1. 错误点说明

你配方中的运行时依赖声明语法错误,RDEPENDS_{PN} = "zlog"的变量引用缺少$符号,正确写法为RDEPENDS_${PN} = "zlog"。
当前错误写法下{PN}不会被BitBake解析为当前配方名变量,实际生效的RDEPENDS_my-opt是空值,因此QA检查无法识别你声明的zlog依赖,才会抛出对应的错误提示。

2. 依赖检测逻辑

该检查由OpenEmbedded构建系统do_package_qa阶段的file-rdeps检查项实现,检测逻辑如下:

  • 扫描当前打包路径下所有ELF格式的可执行文件、动态链接库,通过objdump/readelf提取所有依赖的动态库soname
  • 从pkgdata数据库中拉取你在RDEPENDS_${PN}中声明的所有依赖包提供的soname列表
  • 若存在依赖的soname没有对应的提供包在RDEPENDS中,就会抛出你遇到的错误
    你通过oe-pkgdata-util查询到zlog确实提供了libzlog.so.1.2,只是因为依赖声明未生效,才没有通过检查。

3. 关闭QA检查的方法

优先建议你修正RDEPENDS的语法即可解决问题。如果你确认依赖已经由镜像其他部分保证存在,不需要做该检查,可以通过以下方式屏蔽:

单包屏蔽(推荐)

在当前配方中添加配置,仅屏蔽当前包的file-rdeps检查:

INSANE_SKIP_${PN} = "file-rdeps"
# 新版本BitBake也支持冒号写法:INSANE_SKIP:${PN} = "file-rdeps"

全局屏蔽(不推荐)

在build/conf/local.conf中添加配置,全局关闭所有包的运行时依赖检查,容易导致运行时缺失依赖的问题:

ERROR_QA:remove = "file-rdeps"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:48:03