一个项目中不同版本的 yocto



对于一个项目,我必须使用相扑,因为它是供应商支持的最后一个版本。但是,我还想使用包含ROS((的层,它具有以下兼容性: LAYERSERIES_COMPAT_ros层="摇滚相扑战士">

但在 README.md 中,它说这需要:

## DEPENDENCIES ##

This layer depends on:
**openembedded-core**
URI: git://git.openembedded.org/openembedded-core
subdirectory: meta
branch: thud
revision: HEAD
**meta-openembedded (meta-oe)**
URI: git://git.openembedded.org/meta-openembedded
subdirectory: meta-oe
branch: thud
revision: HEAD
**meta-python** (since a6d7ba92645a112af358efd94ff3aa0c74985a51@meta-openembedded)
URI: git://git.openembedded.org/meta-openembedded
subdirectory: meta-python
branch: thud
revision: HEAD
**meta-multimedia** (since fe44ac167a2a76531af3519f3889fce92024567b@meta-openembedded)
URI: git://git.openembedded.org/meta-openembedded
subdirectory: meta-multimedia
branch: thud
revision: HEAD

当我将所有图层与相扑一起使用时,未启用 ROS 图层:

错误:层"转义"取决于层"ros",但此层未在您的配置中启用

虽然我启用了它:

# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " 
##OEROOT##/meta 
##OEROOT##/meta-poky 
##OEROOT##/meta-yocto-bsp 
##OEROOT##/meta-intel 
##OEROOT##/meta-aaeonc 
##OEROOT##/meta-openembedded/meta-oe 
##OEROOT##/meta-openembedded/meta-python 
##OEROOT##/meta-openembedded/meta-multimedia 
##OEROOT##/meta-ros 
##OEROOT##/meta-escape 
"

所以我想这是一个依赖关系的问题(元转义是我的层,是需要 ROS 的层(。但是如果我使用 thud,bitbake 就会开始失败。

有没有办法使用同一层的两个不同版本?

短而直:不。您必须确保图层在版本上兼容。这就是LAYERSERIES_COMPAT变量的全部意义所在。

如果某个图层恰好不适用于您想要的版本,您可以随时更改条目并尝试,但可能会遇到损坏。

祝你好运。

最新更新