在 yocto 上安装 python-twisted
Installing python-twisted on yocto
我已经成功构建了 yocto core-image-sato 并且进展顺利。现在我正在尝试将配方添加到构建中。我想安装 python-twisted,但失败得很惨。
我发现python-twisted在yocto里好像没有,在openembedded里有。所以我从这里克隆了 openembedded 仓库:
http://git.openembedded.org/meta-openembedded/
然后我将必要的目录添加到 bblayers.conf 中:
BBLAYERS ?= " \
/home/git/poky/meta \
/home/git/poky/meta-yocto \
/home/git/poky/meta-yocto-bsp \
/home/git/poky/meta-openembedded/meta-oe \
/home/git/poky/meta-openembedded/meta-python \
"
当我使用 bitbake -p 解析食谱时,出现以下错误:
Loading cache: 100% |###########################################| ETA: 00:00:00
Loaded 765 entries from dependency cache.
ERROR: ParseError at /home/git/poky/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.0.10.bb:12: Could not inherit file classes/bash-completion.bbclass
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
我尝试删除有问题的文件,因为我怀疑我是否需要它,但这会导致更严重的错误。
我不知道从这里去哪里。我怀疑问题可能是我从 openembedded 获得的文件与文件 yocto 项目不匹配。但是我不知道该怎么办。
任何有关如何将 python-twisted 添加到 core-image-sato 的帮助将不胜感激。
找不到文件错误,如错误中所述,bb 文件 networkmanager_1.0.10.bb 无法继承 类 下的文件。
解决方法:
如果您尝试从打开的嵌入式复制配方,请尝试复制所有相关文件并根据 yocto.c 进行修改。
在你的情况下
inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection
bash-completion.bbclass
在 类 中缺失。因此,解析错误即将到来。
尝试在可以找到 bbclass 的地方添加 oe-core/classes
这可以在 openembedded-core/meta/classes/
中找到
https://github.com/openembedded/openembedded-core/tree/master/meta/classes
那么,使用基于 OpenEmbedded 的构建系统时的第一条规则是,确保所有层都使用正确的分支!
查看您要使用的每个附加层中的 README
。 README
应该指定还需要哪些层,以及这些层的哪些分支。
bash-completion.bbclass
最近被添加到 OE-Core(2016 年 1 月底)。因此,它只是 master 分支的一部分,没有版本包含 class.
networkmanager_1.0.10.bb
仅在 meta-openembedded
的 master 分支中可用。我假设您使用的是 poky (2.0) 的 jethro
版本,以及 meta-openembedded
的主分支。请解决这个问题。
附带说明一下,如果您合并了在 运行 bitbake
时获得的图层信息,那么对您的帮助会容易得多。
我已经成功构建了 yocto core-image-sato 并且进展顺利。现在我正在尝试将配方添加到构建中。我想安装 python-twisted,但失败得很惨。
我发现python-twisted在yocto里好像没有,在openembedded里有。所以我从这里克隆了 openembedded 仓库:
http://git.openembedded.org/meta-openembedded/
然后我将必要的目录添加到 bblayers.conf 中:
BBLAYERS ?= " \
/home/git/poky/meta \
/home/git/poky/meta-yocto \
/home/git/poky/meta-yocto-bsp \
/home/git/poky/meta-openembedded/meta-oe \
/home/git/poky/meta-openembedded/meta-python \
"
当我使用 bitbake -p 解析食谱时,出现以下错误:
Loading cache: 100% |###########################################| ETA: 00:00:00
Loaded 765 entries from dependency cache.
ERROR: ParseError at /home/git/poky/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.0.10.bb:12: Could not inherit file classes/bash-completion.bbclass
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
我尝试删除有问题的文件,因为我怀疑我是否需要它,但这会导致更严重的错误。
我不知道从这里去哪里。我怀疑问题可能是我从 openembedded 获得的文件与文件 yocto 项目不匹配。但是我不知道该怎么办。
任何有关如何将 python-twisted 添加到 core-image-sato 的帮助将不胜感激。
找不到文件错误,如错误中所述,bb 文件 networkmanager_1.0.10.bb 无法继承 类 下的文件。
解决方法: 如果您尝试从打开的嵌入式复制配方,请尝试复制所有相关文件并根据 yocto.c 进行修改。 在你的情况下
inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection
bash-completion.bbclass
在 类 中缺失。因此,解析错误即将到来。
尝试在可以找到 bbclass 的地方添加 oe-core/classes
这可以在 openembedded-core/meta/classes/
中找到
https://github.com/openembedded/openembedded-core/tree/master/meta/classes
那么,使用基于 OpenEmbedded 的构建系统时的第一条规则是,确保所有层都使用正确的分支!
查看您要使用的每个附加层中的 README
。 README
应该指定还需要哪些层,以及这些层的哪些分支。
bash-completion.bbclass
最近被添加到 OE-Core(2016 年 1 月底)。因此,它只是 master 分支的一部分,没有版本包含 class.
networkmanager_1.0.10.bb
仅在 meta-openembedded
的 master 分支中可用。我假设您使用的是 poky (2.0) 的 jethro
版本,以及 meta-openembedded
的主分支。请解决这个问题。
附带说明一下,如果您合并了在 运行 bitbake
时获得的图层信息,那么对您的帮助会容易得多。