do_rootfs:无法安装 packagegroup-core-x11-utils-1.0-r40@all:没有包提供 xserver-nodm-init

do_rootfs: Can't install packagegroup-core-x11-utils-1.0-r40@all: no package provides xserver-nodm-init

起初我运行查看我的层的命令:

$bitbake-layers show-layers
layer                 path                                  priority
meta                  .../poky-krogoth-15.0.0/meta             5
meta-poky             .../poky-krogoth-15.0.0/meta-poky        5
meta-yocto-bsp        .../poky-krogoth-15.0.0/meta-yocto-bsp   5
meta-oe               .../meta-openembedded/meta-oe            6

并建立我的形象:

bitbake core-image-sato

一切正常,我发现meta-oe层没用了。所以我删除了它:

bitbake-layers remove-layer .../meta-openembedded/meta-oe

并重新构建:

$bitbake core-image-sato

显示错误:

ERROR: core-image-sato-1.0-r0 do_rootfs: Unable to install packages.

Command '/buildarea/ddu/poky-krogoth-15.0.0/build-beaglebone/tmp/sysroots/x86_64-linux/usr/bin/smart --log-level=warning --data-dir=/buildarea/ddu/poky-krogoth-15.0.0/build-beaglebone/tmp/work/beaglebone-poky-linux-gnueabi/core-image-sato/1.0-r0/rootfs/var/lib/smart install -y packagegroup-core-ssh-dropbear@all packagegroup-core-x11-sato-games@beaglebone packagegroup-core-x11-base@all smartpm@cortexa8hf_neon psplash@cortexa8hf_neon packagegroup-core-boot@beaglebone packagegroup-base-extended@beaglebone rpm@cortexa8hf_neon packagegroup-core-x11-sato@beaglebone locale-base-en-us@cortexa8hf_neon locale-base-en-gb@cortexa8hf_neon' returned 1:

Loading cache... Updating cache...

################################## [100%]

Computing transaction...error: Can't install packagegroup-core-x11-utils-1.0-r40@all: no package provides xserver-nodm-init

ERROR: core-image-sato-1.0-r0 do_rootfs: Function failed: do_rootfs ERROR: Logfile of failure stored in: /buildarea/ddu/poky-krogoth-15.0.0/build-beaglebone/tmp/work/beaglebone-poky-linux-gnueabi/core-image-sato/1.0-r0/temp/log.do_rootfs.52174 ERROR: Task 9 (/buildarea/ddu/poky-krogoth-15.0.0/meta/recipes-sato/images/core-image-sato.bb, do_rootfs) failed with exit code '1'

为什么说没有包提供xserver-nodm-init?

$find ../meta -name xserver-nodm-init*
../meta/recipes-graphics/x11-common/xserver-nodm-init.bb
../meta/recipes-graphics/x11-common/xserver-nodm-init

首先。为什么你认为 meta-oe 没用?

为什么要删除它?它没有坏处吗?

一般规则是。如果它没有损坏,请不要修复它。 像你说的。把所有东西放回去,它就会起作用。

由于 meta-oe 当前替换了一些 X11 启动组件的方式,如果您在 bblayers.conf 中使用 meta-oe 构建了 X11 然后决定要删除 TMPDIR,则您几乎需要删除 TMPDIR删除 meta-oe(就像你所做的那样)。但是,如果您现在只是删除 TMPDIR 但 而不是 您的 sstate-cache 然后再试一次,它将很快将所有内容恢复到您从 sstate 开始的位置,而无需重新编译所有内容,并且问题应该得到解决。

meta-oe 正在做的事情是不可取的,有一个 bug 可以修复它:

https://bugzilla.yoctoproject.org/show_bug.cgi?id=5546

它已分配给我,我很遗憾地说到目前为止我还没有时间解决它;它似乎也不是其他任何人的优先事项。