Bitbake错误 - 没什么RPROVIDES

时间:2015-02-06 11:56:12

标签: packages yocto openembedded bitbake

我想将分割和应用分成多个包。基本上我只想添加另一个可以使用特定图像构建的文件。

在与我添加的应用程序关联的.bb文件中:

SRC_URI = " \
          ...
          file://api.conf \
          file://script.sh \
          "

PACKAGES =+ "${PN} ${PN}-tools"

FILES_${PN}-tools = "${bindir}/mrvl/tools/script.sh \
                     ${sysconfdir}/mrvl/api.conf \
                    "

然后,我在bb图像测试中添加了以下行

IMAGE_INSTALL += " mrvl-tools"

我正在使用命令bitbake image-test返回:

ERROR: Nothing RPROVIDES 'mrvl-tools' (but /home/usr/../image-test.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'mrvl-tools' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['mrvl-tools']
ERROR: Required build target 'image-test' has no buildable providers.
Missing or unbuildable dependency chain was: ['image-test', 'mrvl-tools']

我遵循bluez5-obex包的相同定义,IMAGE_ISTALL + =“bluez5-obex”工作..

我忘了什么?

4 个答案:

答案 0 :(得分:1)

安德斯很接近。

首先,您的PACKAGES定义错误,您只需要PACKAGES + =" $ {PN} -tools"。

但要记住的重要事项是FILES按PACKAGES的顺序进行评估,因此首先处理$ {PN},默认的FILES _ $ {PN}包含$ {bindir} $ {sysconfdir},所以 $ {bindir}和$ {sysconfdir}的所有都在$ {PN}中。然后它尝试处理$ {PN} -tools并且其FILES中的所有表达式都不匹配任何剩余的文件,因此包是空的。

因此,要么将FILES _ $ {PN}设置为您想要包含的内容,要么使用PACKAGE_BEFORE_PN = $ {PN} -tools在默认PACKAGES值中 PN之前注入PN-tools 。阅读bitbake.conf将有助于使这一点更加清晰,我保证。

请注意,我预计错误是rootfs-time失败而不是图像构造失败,但希望这是问题所在。

答案 1 :(得分:0)

感谢Ross Burton的回答。但我修改了.bb文件,它目前包含以下几行:

SUMMARY_${PN}-tools="mrvl tools test"
PACKAGE_BEFORE_PN += "${PN}-tools"
RDEPENDS_${PN}-tools = ""

FILES_${PN}-tools = "${bindir}/mrvl/tools/script.sh ${sysconfdir}/mrvl/api.conf"
ALLOW_EMPTY_${PN}-tools = "1"

构建完成,名为mrvl-test-tools_0.1-r0.ipk的包在/ build / tmp / deploy / ipk / board /下创建,但它什么都没包含。这是由于变量" ALLOW_EMPTY .. =" 1""。如果没有这一行,构建失败并显示以下消息

Collected errors:
 * opkg_install_cmd: Cannot install package mrvl-test-tools.

 ERROR: Function failed: do_rootfs
 ERROR: Logfile of failure stored in: /home/../build/tmp/work/oe-linux/test-img/1.0-r0/temp/log.do_rootfs.4639
 ERROR: Task 7 (/home/../sources/meta-board/recipes-images/images/test-img.bb, do_rootfs) failed with exit code '1'

我不明白为什么文件现在不包含在.ipk

答案 2 :(得分:0)

您不需要在额外的文件路径中添加file

THISAPPENDFILESDIR := "${THISDIR}/file"
FILESEXTRAPATHS_prepend := "${THISDIR}/file:"

答案 3 :(得分:0)

验证图层是否已添加到

conf/bblayers.conf

通常以“什么都不提供”开头

BBLAYERS += " \
  ${BSPDIR}/sources/"your layer" \