【问题标题】:Yocto recipes not found找不到 Yocto 食谱
【发布时间】:2019-12-05 13:53:39
【问题描述】:

我正在学习 Yocto 并尝试它,我正在关注一个非常详细的 example。 当我尝试构建图像 (qt5.image) 时,它会在解析配方后返回几个错误:

$bitbake qt5-image
...
ERROR: No recipes available for:
  /home/dev/yocto/poky/meta-raspberrypi/recipes-bsp/u-boot/u-boot_2019.07.bbappend
  /home/dev/yocto/poky/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16%.bbappend

错误很明显,但是因为那些meta-不是我的,而是从官方存储库git://git.yoctoproject.org/meta-raspberrypi下载的,我不确定为什么会发生这个错误。

有什么我可以自己解决的吗?

更新:

这里是bblayer.conf的内容我已经调整了路径,但它与上面链接的示例是同一个文件:

$ cat conf/bblayers.conf 
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"

BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " \
    ${HOME}/yocto/poky/meta \
    ${HOME}/yocto/poky/meta-poky \
    ${HOME}/yocto/poky/meta-openembedded/meta-oe \
    ${HOME}/yocto/poky/meta-openembedded/meta-multimedia \
    ${HOME}/yocto/poky/meta-openembedded/meta-networking \
    ${HOME}/yocto/poky/meta-openembedded/meta-perl \
    ${HOME}/yocto/poky/meta-openembedded/meta-python \
    ${HOME}/yocto/poky/meta-qt5 \
    ${HOME}/yocto/poky/meta-raspberrypi \
    ${HOME}/rpi/meta-rpi \
    "

【问题讨论】:

    标签: raspberry-pi yocto


    【解决方案1】:

    你能确定 'meta-raspberrypi' 包含在 bblayers.conf 文件中吗?您可以检查该层包含在

    build-*/conf/bblayers.conf
    

    如果不包含,则将此层添加到bblayers.conf中的bbpath中并重新构建。

    如果它仍然可用,您能否发送完整的错误日志?

    【讨论】:

      【解决方案2】:

      错误消息告诉您的是 meta-raspberrypi 层正在尝试修改它期望存在于另一层中的配方。在这种情况下,u-boot 和 gstreamer1.0-omx 配方来自“元”(因此是 yocto/openembedded 主层)。

      您应该检查您的图层是否都使用相同的分支(并且都是最新的)。我猜你的元层(通常来自 poky git)在某个发布分支上,而你的元树莓派正在使用 master。在这种情况下,构建会像您的那样失败(例如 gstreamer1.0-omx 将是 1.14.4 版本,而 bbappend 将寻找另一个版本)。

      【讨论】:

      • 嗯...我发现了一些奇怪的东西。 Yocto 官方文档 (yoctoproject.org/docs/2.7.1/brief-yoctoprojectqs/…) 说:“在 Yocto 项目 yocto-2.7.1 发布时,该分支中可用的文件与 'warrior' 开发分支中的存储库文件完全匹配”。该示例签出warrior 分支,但warrior 可能与yocto-2.7.1 不同...
      • 我想我需要弄清楚如何强制所有层只使用yocto-2.7.1
      • 看来查看 git 存储库的 warrior 分支(而不是默认的 master)就足够了。
      • 奇特的;我的主机上的路径名(poky / 'warrior') meta/recipes-bsp/u-boot/u-boot_2019.01.bb ;一旦我手动将其重命名为 meta/recipes-bsp/u-boot/u-boot_2019.07.bb,此错误就消失了(类似于 rem 错误)
      • @kaiwan 错误可能已经消失了……但这仍然是解决问题的非常错误的方法
      【解决方案3】:

      我遇到了同样的问题,我所做的是用对应于 poky 分支的分支检查 meta-raspberrypi:

      1. git clone -b warrior git://git.yoctoproject.org/poky
      2. cd poky
      3. git clone -b warrior git://git.yoctoproject.org/meta-raspberrypi
      4. source oe-init-build-env
      5. 将层添加到 conf/bblayers.conf
      6. 在 conf/local.conf 中更改 MACHINE
      7. bitbake rpi-basic-image

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-23
        • 2021-05-18
        • 2021-11-01
        • 2021-04-16
        • 2018-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多