[OE-core] go-bootstrap / go-native conflict during do_rootfs

Richard Purdie richard.purdie at linuxfoundation.org
Mon Mar 20 15:17:19 UTC 2017


On Mon, 2017-03-20 at 07:49 -0700, Khem Raj wrote:
> On Mon, Mar 20, 2017 at 6:47 AM, Kristian Amlie
> <kristian.amlie at mender.io> wrote:
>> > --------------------------------------------------
> > 
> > Additionally, in the logs I found these two snippets:
> > 
> > --------------------------------------------------
> > Considering setscene task: ['go-native', 'do_populate_sysroot']
> >   considering dependency: ['go-native', 'do_populate_sysroot']
> >   considering dependency: ['mender-artifact-native',
> > 'do_populate_sysroot']
> > Adding dependency on go-native
> > ...
> > Considering setscene task: ['go-bootstrap-native',
> > 'do_populate_sysroot']
> >   considering dependency: ['go-native', 'do_populate_sysroot']
> > Adding dependency on go-bootstrap-native
> > --------------------------------------------------
> > 
> > which lead me to believe that all dependencies are being pulled in
> > simultaneously by do_rootfs, but go-native and go-bootstrap-native
> > are
> > in fact mutually exclusive, since they install to the sysroot in
> > the
> > same location. Note that both compilers build just fine, it's only
> > at
> > the do_rootfs stage that this shows up.
> > 
> > I think the oe-meta-go layer solved this by having go-bootstrap-
> > native
> > install in a different location, but I'm unsure what is the best
> > approach for OE.
> go-bootstrap is only needed for few recipes. I think we should find
> out
> a way to keep this dep limited to those recipes and not reflect in
> final
> image rootfs creation. That seems to be not useful.

There is code in sstate.bbclass in setscene_depvalid:

        # Consider sysroot depending on sysroot tasks
        if taskdependees[task][1] == 'do_populate_sysroot' and taskdependees[dep][1] == 'do_populate_sysroot':
            [...]
            # Nothing need depend on libc-initial/gcc-cross-initial
            if "-initial" in taskdependees[task][0]:
                continue

so if go-bootstrap-native were renamed go-native-initial, things might
happen to work better...

Cheers,

Richard



More information about the Openembedded-core mailing list