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

Khem Raj raj.khem at gmail.com
Mon Mar 20 15:29:25 UTC 2017


On Mon, Mar 20, 2017 at 8:17 AM, Richard Purdie
<richard.purdie at linuxfoundation.org> wrote:
> 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...

ah thats right, forgot about that, I think we should rename the recipe
to go-native-initial

>
> Cheers,
>
> Richard



More information about the Openembedded-core mailing list