Varyag
Varyag

Reputation: 696

bitbake populate_sdk for image fails with error

When bitbaking my image, there are no errors. However, when i want to run the `populate_sdk´ command for my image, an error occurs that i can't seem to figure out how to fix.

The error:

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.

I am using the Poky Zeus.

When i google this error, I don't see any solutions at all.

Deleting the entire /tmp/ folder does nothing and removing coreutils and pkgconfig only produces more errors. Cleaning sstate for the packages and for the images, doesn't have any effect either.

Any idea on how I can fix this problem?

Let me know if you want more information.

Upvotes: 2

Views: 4540

Answers (2)

Caglayan Dokme
Caglayan Dokme

Reputation: 1158

I've migrated from RPM to DEB in a Yocto project and encountered a similar problem: populate_sdk fails due to conflicts with perl packages. The error logs are below.

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.

I've solved it by removing target-sdk-provides-dummy from target toolchain tasks.

TOOLCHAIN_TARGET_TASK:remove = "target-sdk-provides-dummy"

I'm quite sure that it's not the right way to solve it, but it saved a lot of time.


Some more details for future people:

  • I'm using Yocto Mickledore, last commit is ddb298ce
  • The target machine is i.MX 8M Nano
  • The development OS is Ubuntu 22.04
  • I don't have perl dependency in the target image
  • I've checked the commit history for poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb and poky/meta/recipes-core/meta/dummy-sdk-package.inc in both mickledore and master branch. There were no commits related to this failure.

Upvotes: 0

vermaete
vermaete

Reputation: 1373

Changing the PACKAGE_CLASSES to the default or package_rpm could solve your issue. It looks like IPK and RPM are more used and tested that 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

Upvotes: 2

Related Questions