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

Khem Raj raj.khem at gmail.com
Mon Mar 20 16:50:44 UTC 2017


On Mon, Mar 20, 2017 at 8:29 AM, Khem Raj <raj.khem at gmail.com> wrote:
> 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
>
>>

Can you try

http://lists.openembedded.org/pipermail/openembedded-core/2017-March/134372.html

and see if this works out for you ?



More information about the Openembedded-core mailing list