If uninative is not in INHERIT, there will be a lot of warnings like the following when install the ext sdk: WARNING: The quilt-native:do_configure sig is computed to be 2be53622b8c5b6e8156053bfa5fdd825, but the sig is locked to 1dea2d1ace9b9bea1e9564b9c6709b40 in SIGGEN_LOCKEDSIGS_t-x86-64 The quilt-native:do_compile sig is computed to be 71aeabc1dc38d575e8d4a52e1c8d1f07, but the sig is locked to 29116ced7d8dd7f44435df0bbb1b2f27 in SIGGEN_LOCKEDSIGS_t-x86-64 The quilt-native:do_install sig is computed to be 1a741cd3eff119e3dd1c0f085c1df589, but the sig is locked to 490303612172994c44d6f6245c2b0a7c in SIGGEN_LOCKEDSIGS_t-x86-64 The quilt-native:do_populate_sysroot sig is computed to be 598615a6dee5023311f9860759f73af4, but the sig is locked to 3a422026a617d3a3df48813cb588bc3b in SIGGEN_LOCKEDSIGS_t-x86-64 The bitbake-diffsigs shows that the difference is caused by BUILD_CXXFLAGS's -D_GLIBCXX_USE_CXX11_ABI=0 which is added by uninative.bbclass. This is because INHERIT += "uninative" is in extracted ext sdk's conf/local.conf. And when do build in the ext sdk fater extracted: ERROR: quilt-native-0.64-r0 do_configure: Taskhash mismatch 2be53622b8c5b6e8156053bfa5fdd825 versus 1dea2d1ace9b9bea1e9564b9c6709b40 for /buildarea/lyang1/sdk_ext2/layers/oe-core/meta/recipes-devtools/quilt/quilt-native_0.64.bb.do_configure ERROR: Taskhash mismatch 2be53622b8c5b6e8156053bfa5fdd825 versus 1dea2d1ace9b9bea1e9564b9c6709b40 for /buildarea/lyang1/sdk_ext2/layers/oe-core/meta/recipes-devtools/quilt/quilt-native_0.64.bb.do_configure If we patch meta/classes/populate_sdk_ext.bbclass to remove uninative: diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index 0f0525d..af2680d 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -284,8 +284,11 @@ python copy_buildsystem () { f.write('DL_DIR = "${TOPDIR}/downloads"\n') - f.write('INHERIT += "%s"\n' % 'uninative') - f.write('UNINATIVE_CHECKSUM[%s] = "%s"\n\n' % (d.getVar('BUILD_ARCH', True), uninative_checksum)) + # Don't inherit uninative if the build isn't using it + if bb.data.inherits_class('uninative', d): + f.write('INHERIT += "%s"\n' % 'uninative') + f.write('UNINATIVE_CHECKSUM[%s] = "%s"\n\n' % (d.getVar('BUILD_ARCH', True), uninative_checksum)) + f.write('CONF_VERSION = "%s"\n\n' % d.getVar('CONF_VERSION', False)) # Some classes are not suitable for SDK, remove them from INHERIT This still can't fix the problem, there would be strange errors during install ext sdk: NOTE: Executing RunQueue Tasks ERROR: Task quilt-native.do_fetch attempted to execute unexpectedly ERROR: Task quilt-native.do_unpack attempted to execute unexpectedly ERROR: Task quilt-native.do_patch attempted to execute unexpectedly ERROR: Task quilt-native.do_configure attempted to execute unexpectedly ERROR: Task quilt-native.do_compile attempted to execute unexpectedly ERROR: Task quilt-native.do_install attempted to execute unexpectedly This is because nativesdk tools can't run: $ ls ./sysroots/x86_64-wrlinuxsdk-linux/usr/bin/file.real ./sysroots/x86_64-wrlinuxsdk-linux/usr/bin/file.real $ ./sysroots/x86_64-wrlinuxsdk-linux/usr/bin/file.real bash: ./sysroots/x86_64-wrlinuxsdk-linux/usr/bin/file.real: No such file or directory I think that we need add checking in meta/classes/populate_sdk_ext.bbclass to check whether uninative.bbclass is inherited, and error out if not.
I tried to make it not break without uninative - since uninative is only enabled by default in poky but not OE-Core's default configuration - but we might as well give up on that idea. It'll be slightly more difficult for users unfortunately, but it seems we've painted ourselves into a corner. I have a patch here to make do_populate_sdk_ext error out immediately in case uninative is not inherited.
Thanks Paul, I re-assign the bug to you. Errors out immediately will make our lives easier:-).
Fixed in oe-core b59eee7bebd413c7abe5626f69508e1fe47dd0ac.
There's been some further discussion - we are going to try to change the native configuration so that the eSDK can work in the default OE-Core configuration, see Richard's email: http://lists.openembedded.org/pipermail/openembedded-architecture/2016-November/000324.html
This is now resolved as of the following two commits: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=5fd4cada2e49a0a12f54b8e37b7f18c44101457f http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=71b7c3a88ec5a20d5e4531751d0bf23d5c94e494
*** Bug 10645 has been marked as a duplicate of this bug. ***