From: Mark Hatle Date: Mon, 11 Jan 2016 21:12:05 +0000 (-0600) Subject: image.bbclass: Unconditional includes of populate_sdk_ext fails X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~27734 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e471ce3464d5ae024315d4839cccd4c651f9ba83;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git image.bbclass: Unconditional includes of populate_sdk_ext fails populate_sdk_ext requires uninative support, which is only available on glibc based SDKMACHINES. For instance, when using mingw32 a dependency error will occur: NOTE: Runtime target 'nativesdk-glibc' is unbuildable, removing... ERROR: Required build target 'core-image-minimal' has no buildable providers. Missing or unbuildable dependency chain was: ['core-image-minimal', 'uninative-tarball', 'nativesdk-glibc'] This is dues to populate_sdk_ext.bbclass having: do_populate_sdk_ext[depends] += "buildtools-tarball:do_populate_sdk uninative-tarball:do_populate_sdk" addtask populate_sdk_ext Since bitbake can't determine for dependency resolution if the task is going to be run yet, it blows up and says it simply can't be resolved. Workaround this problem by making the inherit conditional on the SDK_OS containing 'linux'. Signed-off-by: Mark Hatle Signed-off-by: Richard Purdie --- diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 48505c8d6c1..8a09db19292 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -1,6 +1,9 @@ inherit rootfs_${IMAGE_PKGTYPE} -inherit populate_sdk_ext +# Only Linux SDKs support populate_sdk_ext, fall back to populate_sdk +# in the non-Linux SDK_OS case, such as mingw32 +SDKEXTCLASS ?= "${@['populate_sdk', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS", True)]}" +inherit ${SDKEXTCLASS} TOOLCHAIN_TARGET_TASK += "${PACKAGE_INSTALL}" TOOLCHAIN_TARGET_TASK_ATTEMPTONLY += "${PACKAGE_INSTALL_ATTEMPTONLY}"