如何在Yocto镜像中包含libiio-iiod与libiio-python3包?
Yocto构建中添加libiio子包的解决方案
问题背景
在Yocto构建中引入libiio配方,配方内定义了PACKAGES =+ "${PN}-iiod ${PN}-tests ${PN}-${PYTHON_PN}",其中${PN}-${PYTHON_PN}包已通过bbappend文件完成PACKAGECONFIG启用配置。在local.conf中添加IMAGE_INSTALL:append = " libiio"后,执行bitbake core-image-minimal生成的镜像仅包含libiio0包,未出现libiio-iiod和libiio-python3文件;对应的.rpm文件已存在于指定路径,执行常规清理缓存命令后问题仍未解决。
解决步骤
明确指定需安装的子包
libiio主包默认仅包含核心库文件(libiio0),不会自动拉取子包。需直接修改local.conf,将目标子包添加到IMAGE_INSTALL中:IMAGE_INSTALL:append = " libiio-iiod libiio-python3"若需保留主包,也可合并写为:
IMAGE_INSTALL:append = " libiio libiio-iiod libiio-python3"验证PACKAGECONFIG配置有效性
确认bbappend文件中的PACKAGECONFIG已正确启用所需选项,示例配置如下:PACKAGECONFIG:append = " python iiod"执行以下命令查看最终生效的配置,确保
python和iiod已包含在内:bitbake libiio -e | grep PACKAGECONFIG彻底清理并重新构建
执行更彻底的清理命令以确保缓存完全更新:bitbake core-image-minimal -c cleanall bitbake core-image-minimal也可手动删除相关缓存文件:
rm -rf tmp/work/<你的机器架构>/core-image-minimal/* rm -rf tmp/deploy/rpm/<你的目标架构>/libiio-*检查包依赖关系
执行以下命令查看libiio主包的依赖列表,确认是否包含目标子包:bitbake libiio -c package_show若配方未设置主包依赖子包,必须手动将子包添加到
IMAGE_INSTALL。
内容的提问来源于stack exchange,提问作者ThePumkinMelon
相关产品推荐
相关产品推荐

