Bitbake:"Nothing PROVIDES"错误

5

我对Yocto和Bitbake还很陌生。我正在Ubuntu上通过qemu模拟器运行我的yocto机器,并尝试使用meta-selftest层来了解如何安装新层。我已经将meta-selftest文件下载到其余meta-目录所在的目录中,并将meta-selftest目录的路径添加到bblayers.conf文件中。 运行bitbake-layers show-layers命令会输出:

layer                 path                                      priority
==========================================================================
meta                  /home/[my name]/Documents/poky/meta         5
meta-poky             /home/[my name]/Documents/poky/meta-poky    5
meta-yocto-bsp        /home/[my name]/Documents/poky/meta-yocto-bsp  5
meta-selftest         /home/[my name]/Documents/poky/meta-selftest  5

然而,当我尝试运行bitbake meta-selftest时,我遇到了以下错误:

Loading cache: 100% 
Loaded 1294 entries from dependency cache.
ERROR: Nothing PROVIDES 'meta-selftest'

Summary: There was 1 ERROR message shown, returning a non-zero exit code.

这个错误是什么意思?我检查了 meta-selftest 的依赖关系,发现它没有任何依赖项,因此我感到这个错误并不是在说有依赖问题,但我找不到任何清晰的文档告诉我这个错误想要表达什么。我大致感觉这意味着bitbake无法找到meta-selftest,但是show-layers列出了正确路径的列表,与之相矛盾。
如果您能提供任何帮助,将不胜感激。
- Patches
2个回答

7
你不需要使用bitbake构建一个层,而是需要从该层中选择一个recipe进行构建。 例如,尝试使用bitbake test-empty-image。这是该层提供的一个镜像recipe。
探索meta-selftest目录并查找.bb文件,即recipes。这些可以使用bitbake构建。
我建议先查看快速入门指南:http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html

1
感谢澄清!通过阅读快速入门指南(主要是第4章),似乎将层的名称添加到“bblayers.conf”中应该允许“bitbake”命令将该软件包构建到映像中。进一步阅读使人觉得应该复制并编辑“meta/recipes-sato/images/core-image-sato.bb”以包括软件包(在我的情况下添加“IMAGE_INSTALL +=“meta-selftest””),但是尝试构建此映像会导致由于“Nothing PROVIDES”错误而失败。当我尝试在我的实际软件包“swupdate_2017.11”上运行“bitbake”时,我遇到了相同的错误。 - Patchwork
再次强调,您不需要在镜像中安装 meta-selftest,而是可以安装该层提供的软件包,例如 selftest-ed。该软件包与配方具有相同的名称(selftest-ed_1.14.1.bb)。 IMAGE_INSTALL += "selftest-ed" - StackedUser

2

您不需要使用bitbake构建层的名称。

请在meta-selftest目录中查找*.bb文件(这是配方),然后尝试再次运行“bitbake recipes_name.bb”命令。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接