diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-11-02 16:04:59 +1300 |
---|---|---|
committer | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-11-02 16:14:59 +1300 |
commit | 0d89ecf418a2541d71ecce5d49d1085a3d44a8e1 (patch) | |
tree | efb80be88115b9129a5712e7a3e0ec1fb534cd53 | |
parent | 98c6ebf1e05158c689e01b785d32757847cdb10c (diff) | |
download | openembedded-core-contrib-paule/esdk-require-uninative.tar.gz |
classes/populate_sdk_ext: require uninativepaule/esdk-require-uninative
It seems that possibly due to OE-Core commit
ac59063bee0e32d0737340974f657341717a6abe, binaries produced without
uninative aren't compatible with the uninative glibc. I did try earlier
to ensure that the eSDK could work without uninative since the default
configuration in OE-Core does not enable it, but it seems like I didn't
go far enough. Given the practical considerations, just give up and
require uninative to be enabled in order to build the eSDK. I'm not
particularly happy about this, but I don't seem much of an alternative.
Fixes [YOCTO #10566].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-rw-r--r-- | meta/classes/populate_sdk_ext.bbclass | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index 0f0525d764..61e00aff17 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -114,10 +114,6 @@ def create_filtered_tasklist(d, sdkbasepath, tasklistfile, conf_initpath): f.write('SSTATE_MIRRORS_forcevariable = ""\n') # Ensure TMPDIR is the default so that clean_esdk_builddir() can delete it f.write('TMPDIR_forcevariable = "${TOPDIR}/tmp"\n') - # Drop uninative if the build isn't using it (or else NATIVELSBSTRING will - # be different and we won't be able to find our native sstate) - if not bb.data.inherits_class('uninative', d): - f.write('INHERIT_remove = "uninative"\n') # Unfortunately the default SDKPATH (or even a custom value) may contain characters that bitbake # will not allow in its COREBASE path, so we need to rename the directory temporarily @@ -608,6 +604,9 @@ fakeroot python do_populate_sdk_ext() { if d.getVar('SDK_ARCH', True) != d.getVar('BUILD_ARCH', True): bb.fatal('The extensible SDK can currently only be built for the same architecture as the machine being built on - SDK_ARCH is set to %s (likely via setting SDKMACHINE) which is different from the architecture of the build machine (%s). Unable to continue.' % (d.getVar('SDK_ARCH', True), d.getVar('BUILD_ARCH', True))) + if not bb.data.inherits_class('uninative', d): + bb.fatal('The extensible SDK requires uninative to be enabled. Enabling this is straightforward - just add the following to your configuration:\n\nrequire meta/conf/distro/include/yocto-uninative.inc\nINHERIT += "uninative"\n') + d.setVar('SDK_INSTALL_TARGETS', get_sdk_install_targets(d)) buildtools_fn = get_current_buildtools(d) d.setVar('SDK_REQUIRED_UTILITIES', get_sdk_required_utilities(buildtools_fn, d)) |