From ed05d969ea4a6bb8df3956a621d7d3e94e6cb515 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 2 Oct 2019 14:59:18 +0100 Subject: base: Improve module import error message Turn: ERROR: Unable to parse Var Traceback (most recent call last): File "Var ", line 1, in File "/media/build1/poky/meta/classes/base.bbclass", line 35, in oe_import(d=): for toimport in oe.data.typed_value("OE_IMPORTS", d): > imported = __import__(toimport) inject(toimport.split(".", 1)[0], imported) File "/media/build1/poky/meta/lib/oe/sstatesig.py", line 267, in : >class SignatureGeneratorOEEquivHash(SignatureGeneratorOEBasicHashMixIn, bb.siggen.SignatureGeneratorUniHashMixIn, bb.siggen.SignatureGeneratorBasicHash): name = "OEEquivHash" bb.data_smart.ExpansionError: Failure expanding variable OE_IMPORTED[:=], expression was ${@oe_import(d)} which triggered exception AttributeError: module 'bb.siggen' has no attribute 'SignatureGeneratorUniHashMixIn' into: ERROR: Error importing OE modules: module 'bb.siggen' has no attribute 'SignatureGeneratorUniHashMixIn' which can then trigger a version mismatch error message. (From OE-Core rev: 5b01726d1cf478aba8d1acc73e29f6cab0c9371e) Signed-off-by: Richard Purdie --- meta/classes/base.bbclass | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'meta/classes/base.bbclass') diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 0c8a4b2862..d3184ecf7b 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -32,9 +32,11 @@ def oe_import(d): import oe.data for toimport in oe.data.typed_value("OE_IMPORTS", d): - imported = __import__(toimport) - inject(toimport.split(".", 1)[0], imported) - + try: + imported = __import__(toimport) + inject(toimport.split(".", 1)[0], imported) + except AttributeError as e: + bb.error("Error importing OE modules: %s" % str(e)) return "" # We need the oe module name space early (before INHERITs get added) -- cgit v1.2.3-54-g00ecf