[OE-core] eglibc_2.17.bb: Failure expanding variable SELECTED_OPTIMIZATION[:=]

Denys Dmytriyenko denis at denix.org
Fri Sep 6 18:57:41 UTC 2013


Hi,

Has anyone seen this error before? It happens for me quite often, but not 
always, on Dylan branch during initial parsing:

Parsing recipes...
ERROR: ExpansionError during parsing .../oe-core/meta/recipes-core/eglibc/eglibc_2.17.bb:
  Failure expanding variable SELECTED_OPTIMIZATION[:=], expression was ${@get_optimization(d)}
  which triggered exception NameError: name 'get_optimization' is not defined
ERROR: Command execution failed: Exited with 1


Looking at the code, I don't see anything suspicious:

# eglibc can't be built without optimization, if someone tries to compile an
# entire image as -O0, we override it with -O2 here and give a note about it.
def get_optimization(d):
    selected_optimization = d.getVar("SELECTED_OPTIMIZATION", True)
    if base_contains("SELECTED_OPTIMIZATION", "-O0", "x", "", d) == "x":
        bb.note("eglibc can't be built with -O0, -O2 will be used instead.")
        return selected_optimization.replace("-O0", "-O2")
    return selected_optimization

SELECTED_OPTIMIZATION := "${@get_optimization(d)}"


It sounds like by the time SELECTED_OPTIMIZATION tries to make an assignment 
with immediate var expansion, get_optimization() function is not yet defined.

This happens with high BB_NUM_THREADS and bitbake 1.18. Trying bitbake from 
master on Dylan gives "AttributeError: 'NoneType' object has no attribute 
'rfind'", but that's another story.

Anyone has any clues or suggestions? Thanks.

-- 
Denys



More information about the Openembedded-core mailing list