对我的图像进行位烘焙时,没有错误。然而,当我想为我的图像运行“populate_sdk”命令时,出现了一个错误,我似乎不知道如何修复。
错误:
ERROR: myimage-1.0-r0 do_populate_sdk: Unable to install packages. Command '/home/yoctouser/build/tmp/work/poky-linux/myimage/1.0-r0/recipe-sysroot-native/usr/bin/apt-get install --force-yes --allow-unauthenticated
(A_LOT_OF_LISTED_PACKAGES) returned 100:
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
target-sdk-provides-dummy : Conflicts: coreutils
Conflicts: pkgconfig
E: Unable to correct problems, you have held broken packages.
我正在使用Poky Zeus。
当我用谷歌搜索这个错误时,我根本没有看到任何解决方案。
删除整个
/tmp/
文件夹不会执行任何操作,而删除 coreutils
和 pkgconfig
只会产生更多错误。包和图像的清洁状态也没有任何效果。
知道如何解决这个问题吗?
如果您想了解更多信息,请告诉我。
将
PACKAGE_CLASSES
更改为默认值或 package_rpm
可以解决您的问题。
看起来 IPK 和 RPM 比 DEB 更多地被使用和测试。
https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#ref-classes-package_ipk https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#ref-classes-package_rpm
我在 Yocto 项目中从 RPM 迁移到 DEB 并遇到了类似的问题:由于与
populate_sdk
包冲突,perl
失败。错误日志如下。
The following packages have unmet dependencies:
target-sdk-provides-dummy : Conflicts: perl
Conflicts: perl-module-config
Conflicts: perl-module-strict
Conflicts: perl-module-vars
Conflicts: perl-module-warnings
Conflicts: perl-module-warnings-register
E: Unable to correct problems, you have held broken packages.
我通过从目标工具链任务中删除
target-sdk-provides-dummy
解决了这个问题。
TOOLCHAIN_TARGET_TASK:remove = "target-sdk-provides-dummy"
我很确定这不是解决问题的正确方法,但它节省了很多时间。
为未来的人们提供更多细节:
perl
依赖性poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb
和 poky/meta/recipes-core/meta/dummy-sdk-package.inc
分支中 mickledore
和 master
的提交历史记录。没有与此失败相关的提交。