找不到 Yocto 食谱
Yocto recipes not found
我正在学习 Yocto 并尝试使用它,我遵循了非常详细的 example。
当我尝试构建图像 (qt5.image
) 时,它 returns 在解析配方后出现了几个错误:
$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
错误很明显,但是因为那些元数据不是我的,而是从官方存储库下载的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 \
"
你能确定 'meta-raspberrypi' 包含在 bblayers.conf 文件中吗?您可以查看
中包含的这一层
build-*/conf/bblayers.conf
如果不包含,将此层添加到bblayers.conf中的bbpath中并重建它。
如果它仍然可用,能否请您发送错误的完整日志?
错误消息告诉您的是 meta-raspberrypi 层正在尝试修改它期望存在于另一层中的配方。在这种情况下,u-boot 和 gstreamer1.0-omx 配方来自 "meta"(因此 yocto/openembedded 主层)。
您应该检查您的层是否都使用相同的分支(并且都是最新的)。我猜你的元层(通常来自 poky git)在某个发布分支上,而你的元树莓派正在使用 master。在这种情况下,构建会像您的那样失败(例如,gstreamer1.0-omx 将是版本 1.14.4,而 bbappend 将寻找另一个版本)。
我遇到了同样的问题,我所做的是用对应于 poky 分支的分支检查 meta-raspberrypi:
git clone -b warrior git://git.yoctoproject.org/poky
cd poky
git clone -b warrior git://git.yoctoproject.org/meta-raspberrypi
source oe-init-build-env
- 添加图层到conf/bblayers.conf
- 在 conf/local.conf
中更改机器
bitbake rpi-basic-image
我正在学习 Yocto 并尝试使用它,我遵循了非常详细的 example。
当我尝试构建图像 (qt5.image
) 时,它 returns 在解析配方后出现了几个错误:
$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
错误很明显,但是因为那些元数据不是我的,而是从官方存储库下载的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 \
"
你能确定 'meta-raspberrypi' 包含在 bblayers.conf 文件中吗?您可以查看
中包含的这一层build-*/conf/bblayers.conf
如果不包含,将此层添加到bblayers.conf中的bbpath中并重建它。
如果它仍然可用,能否请您发送错误的完整日志?
错误消息告诉您的是 meta-raspberrypi 层正在尝试修改它期望存在于另一层中的配方。在这种情况下,u-boot 和 gstreamer1.0-omx 配方来自 "meta"(因此 yocto/openembedded 主层)。
您应该检查您的层是否都使用相同的分支(并且都是最新的)。我猜你的元层(通常来自 poky git)在某个发布分支上,而你的元树莓派正在使用 master。在这种情况下,构建会像您的那样失败(例如,gstreamer1.0-omx 将是版本 1.14.4,而 bbappend 将寻找另一个版本)。
我遇到了同样的问题,我所做的是用对应于 poky 分支的分支检查 meta-raspberrypi:
git clone -b warrior git://git.yoctoproject.org/poky
cd poky
git clone -b warrior git://git.yoctoproject.org/meta-raspberrypi
source oe-init-build-env
- 添加图层到conf/bblayers.conf
- 在 conf/local.conf 中更改机器
bitbake rpi-basic-image