schnitzeltony / meta-qt5-extra

OE layer for desktop environments based on Qt5 (KDE KF5+Plasma+Apps / lirios / lxqt / lumina)
MIT License
29 stars 32 forks source link

karchive-native broken due to requiring non-native dependencies #89

Closed haadr closed 1 year ago

haadr commented 1 year ago

This is using current master.

When building karchive-native, native.bbclass is enabled via inherit native. This way of using native means that dependencies are not automatically changed form <dep> to <dep>-native. This, in turn, means that I get sstate manifest errors since bitbake can't find the manifest file for the target zlib. Maybe this usually works due to PACKAGE_EXTRA_ARCHS, but in my case it does not. This is the error I get, slightly anonymized

ERROR: mc:product-myproduct:karchive-native-5.99.0-r0 do_prepare_recipe_sysroot: The sstate manifest for task 'zlib:populate_sysroot' (multilib variant '') could not be found.
The pkgarchs considered were: <snip>, allarch, x86_64_x86_64-nativesdk.
But none of these manifests exists:
    <snip>
    /my-path/build/tmp/internal/kirkstone/myproduct/sstate-control/manifest-allarch-zlib.populate_sysroot
    /my-path/build/tmp/internal/kirkstone/myproduct/sstate-control/manifest-x86_64_x86_64-nativesdk-zlib.populate_sysroot
ERROR: Logfile of failure stored in: /my-path/build/tmp/internal/kirkstone/myproduct/work/x86_64-linux/karchive-native/5.99.0-r0/temp/log.do_prepare_recipe_sysroot.841
ERROR: Task (mc:product-myproduct:/my-path/sources/meta-qt5-extra/recipes-kde/kf5/tier1/karchive/karchive-native.bb:do_prepare_recipe_sysroot) failed with exit code '1'

See here for the documentation on dependency renaming https://docs.yoctoproject.org/4.0.8/singleindex.html#term-BBCLASSEXTEND

After my fix (see PR) the correct sstate manifest file is found, since the dependency is now zlib-native:

/my-path/build/tmp/internal/kirkstone/myproduct/sstate-control/manifest-x86_64-zlib-native.populate_sysroot