This fails on the AB when generating a eSDK, eg http://errors.yoctoproject.org/Errors/Details/110635/
I suspect the cause is that the sstate is generated using the (eg) universal-4.9 name, but populate_sdk_ext still uses just "universal" when creating a mirror of the sstate archive. Ross On 8 November 2016 at 08:11, Ed Bartosh <[email protected]> wrote: > Some c++ libraries fail to build if uninative is built > with gcc 5.x and host gcc version is either 4.8 or 4.9. > > The issue should be solved by making separate uninative sstate > directory structure sstate-cache/universal-<gcc version> for host gcc > versions 4.8 and 4.9. This causes rebuilds of uninative if host gcc > is either 4.8 or 4.9 and it doesn't match gcc version used to build > uninative. > > [YOCTO #10441] > > Signed-off-by: Ed Bartosh <[email protected]> > --- > meta/classes/uninative.bbclass | 16 +++++++++++++++- > 1 file changed, 15 insertions(+), 1 deletion(-) > > diff --git a/meta/classes/uninative.bbclass b/meta/classes/uninative. > bbclass > index 89cec07..3862b31 100644 > --- a/meta/classes/uninative.bbclass > +++ b/meta/classes/uninative.bbclass > @@ -95,11 +95,25 @@ python uninative_event_enable() { > enable_uninative(d) > } > > +def gcc_version(d): > + compiler = d.getVar("BUILD_CC", True) > + retval, output = oe.utils.getstatusoutput("%s --version" % compiler) > + if retval: > + bb.fatal("Error running %s --version: %s" % (compiler, output)) > + > + import re > + match = re.match(".* (\d\.\d)\.\d.*", output.split('\n')[0]) > + if not match: > + bb.fatal("Can't get compiler version from %s --version output" % > compiler) > + > + version = match.group(1) > + return "-%s" % version if version in ("4.8", "4.9") else "" > + > def enable_uninative(d): > loader = d.getVar("UNINATIVE_LOADER", True) > if os.path.exists(loader): > bb.debug(2, "Enabling uninative") > - d.setVar("NATIVELSBSTRING", "universal") > + d.setVar("NATIVELSBSTRING", "universal%s" % gcc_version(d)) > d.appendVar("SSTATEPOSTUNPACKFUNCS", " uninative_changeinterp") > d.prependVar("PATH", "${STAGING_DIR}-uninative/${ > BUILD_ARCH}-linux${bindir_native}:") > > -- > 2.1.4 > > -- > _______________________________________________ > Openembedded-core mailing list > [email protected] > http://lists.openembedded.org/mailman/listinfo/openembedded-core >
-- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
