[yocto] metadata mismatch between image and package (uninative)

Tim Blechmann tim at klingt.org
Mon Aug 26 20:43:07 PDT 2019


> i've been able to build by `INHERIT_remove`ing "uninative", but this
> feels like a hack.
> 
> so i'm wondering: what could cause a reparse error when `uninative` is
> enabled?

i think i've tracked down the error:
`uninative_event_enable` extends `PATH`, but only if `UNINATIVE_LOADER`
points to a valid path
https://git.yoctoproject.org/cgit.cgi/poky/tree/meta/classes/uninative.bbclass#n128


`UNINATIVE_LOADER` only points to a valid path after
`uninative_event_fetchloader` succeeds.
https://git.yoctoproject.org/cgit.cgi/poky/tree/meta/classes/uninative.bbclass#n33

but `uninative_event_fetchloader` is only executed during
`bb.event.BuildStarted`, while `uninative_event_enable` is called during
`bb.event.ConfigParsed
`.
https://git.yoctoproject.org/cgit.cgi/poky/tree/meta/classes/uninative.bbclass#n16



afaict this leads to the following situation:
* the initial `uninative_event_enable` "fails", as no `UNINATIVE_LOADER
` path exists
* the recipes are parsed with original `PATH`
* during `BuildStarted`, the `UNINATIVE_LOADER` is populated and
`enable_uninative` is called from `uninative_event_fetchloader`,
extending `PATH`
* reparsing sees a different `PATH`

----

now i'm wondering, what's the correct way to fix this?

thanks a lot,
tim



More information about the yocto mailing list