[OE-core] -c menuconfig stopped working in master

Leonardo Sandoval leonardo.sandoval.gonzalez at linux.intel.com
Thu Jun 9 19:58:01 UTC 2016


Yes, this is related to the python3 change. I have a patch, I will send 
it asap.


On 06/09/2016 01:43 PM, Trevor Woerner wrote:
> It appears "bitbake virtual/kernel -c menuconfig" has stopped working in
> master (python3-related?). The following is from a build on master of poky
> (git://git.yoctoproject.org/poky) with qemux86 as the MACHINE (iow, the most
> basic build). The same happens with master-next.
>
> 	ERROR: linux-yocto-4.4.12+gitAUTOINC+8900370d33_1f3e98df09-r0 do_menuconfig: Error executing a python function in exec_python_func() autogenerated:
>
> 	The stack trace of python calls that resulted in this exception/failure was:
> 	File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
> 	     0001:
> 	 *** 0002:do_menuconfig(d)
> 	     0003:
> 	File: '/z/layerindex-master/layers/meta-poky/meta/classes/cml1.bbclass', lineno: 30, function: do_menuconfig
> 	     0026:    except OSError:
> 	     0027:        mtime = 0
> 	     0028:
> 	     0029:    oe_terminal("${SHELL} -c \"make %s; if [ \$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to continue... '; read r; fi\"" % d.getVar('KCONFIG_CONFIG_COMMAND', True),
> 	 *** 0030:                d.getVar('PN', True ) + ' Configuration', d)
> 	     0031:
> 	     0032:    # FIXME this check can be removed when the minimum bitbake version has been bumped
> 	     0033:    if hasattr(bb.build, 'write_taint'):
> 	     0034:        try:
> 	File: '/z/layerindex-master/layers/meta-poky/meta/classes/terminal.bbclass', lineno: 90, function: oe_terminal
> 	     0086:        except oe.terminal.ExecutionError as exc:
> 	     0087:            bb.fatal('Unable to spawn terminal %s: %s' % (terminal, exc))
> 	     0088:
> 	     0089:    try:
> 	 *** 0090:        oe.terminal.spawn_preferred(command, title, None, d)
> 	     0091:    except oe.terminal.NoSupportedTerminals:
> 	     0092:        bb.fatal('No valid terminal found, unable to open devshell')
> 	     0093:    except oe.terminal.ExecutionError as exc:
> 	     0094:        bb.fatal('Unable to spawn terminal %s: %s' % (terminal, exc))
> 	File: '/z/layerindex-master/layers/meta-poky/meta/lib/oe/terminal.py', lineno: 197, function: spawn_preferred
> 	     0193:def spawn_preferred(sh_cmd, title=None, env=None, d=None):
> 	     0194:    """Spawn the first supported terminal, by priority"""
> 	     0195:    for terminal in prioritized():
> 	     0196:        try:
> 	 *** 0197:            spawn(terminal.name, sh_cmd, title, env, d)
> 	     0198:            break
> 	     0199:        except UnsupportedTerminal:
> 	     0200:            continue
> 	     0201:    else:
> 	File: '/z/layerindex-master/layers/meta-poky/meta/lib/oe/terminal.py', lineno: 212, function: spawn
> 	     0208:        terminal = Registry.registry[name]
> 	     0209:    except KeyError:
> 	     0210:        raise UnsupportedTerminal(name)
> 	     0211:
> 	 *** 0212:    pipe = terminal(sh_cmd, title, env, d)
> 	     0213:    output = pipe.communicate()[0]
> 	     0214:    if pipe.returncode != 0:
> 	     0215:        raise ExecutionError(sh_cmd, pipe.returncode, output)
> 	     0216:
> 	File: '/z/layerindex-master/layers/meta-poky/meta/lib/oe/terminal.py', lineno: 89, function: __init__
> 	     0085:    priority = 2
> 	     0086:
> 	     0087:    def __init__(self, sh_cmd, title=None, env=None, d=None):
> 	     0088:        # Check version
> 	 *** 0089:        vernum = check_terminal_version("konsole")
> 	     0090:        if vernum and LooseVersion(vernum) < '2.0.0':
> 	     0091:            # Konsole from KDE 3.x
> 	     0092:            self.command = 'konsole -T "{title}" -e {command}'
> 	     0093:        XTerminal.__init__(self, sh_cmd, title, env, d)
> 	File: '/z/layerindex-master/layers/meta-poky/meta/lib/oe/terminal.py', lineno: 249, function: check_terminal_version
> 	     0245:        newenv = os.environ.copy()
> 	     0246:        newenv["LANG"] = "C"
> 	     0247:        p = sub.Popen(['sh', '-c', cmdversion], stdout=sub.PIPE, stderr=sub.PIPE, env=newenv)
> 	     0248:        out, err = p.communicate()
> 	 *** 0249:        ver_info = out.rstrip().split('\n')
> 	     0250:    except OSError as exc:
> 	     0251:        import errno
> 	     0252:        if exc.errno == errno.ENOENT:
> 	     0253:            return None
> 	Exception: TypeError: Type str doesn't support the buffer API




More information about the Openembedded-core mailing list