Bug 8780

Summary: wic does no start
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Cristian Iorga <cristian.iorga>
Component: Scripts and ToolsAssignee: Ed Bartosh <eduard.bartosh>
Status: VERIFIED FIXED QA Contact: Cristina Agurida <cristina-danielax.agurida>
Severity: normal    
Priority: Medium+ CC: bogdanx.a.voiculescu, ross.burton
Version: 2.1   
Target Milestone: 2.1 M2   
Hardware: All   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know

Description Cristian Iorga 2015-12-07 16:23:27 UTC
wic does not start while simply invoking it and throws a Python backtrace:

Last line:
ImportError: No module named pysh

poky HEAD: 698c74c373110ed081a7586e21d4a27b8b44c89b

Complete backtrace:

/mnt/Yo/yoctoproject/build$ wic
Traceback (most recent call last):
  File "/mnt/Yo/yoctoproject/poky/scripts/wic", line 50, in <module>
    from bb import cookerdata
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/__init__.py", line 77, in <module>
    from bb import fetch2 as fetch
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/fetch2/__init__.py", line 39, in <module>
    from bb import data
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/data.py", line 48, in <module>
    from bb import data_smart
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/data_smart.py", line 35, in <module>
    import bb, bb.codeparser
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/codeparser.py", line 7, in <module>
    from pysh import pyshyacc, pyshlex, sherrors
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/pysh/pyshyacc.py", line 657, in <module>
    yacc.yacc(tabmodule = 'pysh.pyshtables', write_tables = 0, debug = 0)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 3231, in yacc
    exec('import %s' % pkgname)
  File "<string>", line 1, in <module>
ImportError: No module named pysh
/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/event.py:118: RuntimeWarning: Parent module 'bb' not found while handling absolute import
  from bb.msg import BBLogFormatter
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/event.py", line 118, in print_ui_queue
    from bb.msg import BBLogFormatter
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/__init__.py", line 77, in <module>
    from bb import fetch2 as fetch
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/fetch2/__init__.py", line 39, in <module>
    from bb import data
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/data.py", line 48, in <module>
    from bb import data_smart
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/data_smart.py", line 35, in <module>
    import bb, bb.codeparser
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/codeparser.py", line 7, in <module>
    from pysh import pyshyacc, pyshlex, sherrors
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/pysh/pyshyacc.py", line 657, in <module>
    yacc.yacc(tabmodule = 'pysh.pyshtables', write_tables = 0, debug = 0)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 3231, in yacc
    exec('import %s' % pkgname)
  File "<string>", line 1, in <module>
ImportError: No module named pysh
Error in sys.exitfunc:
Traceback (most recent call last):
  File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/event.py", line 118, in print_ui_queue
    from bb.msg import BBLogFormatter
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/__init__.py", line 77, in <module>
    from bb import fetch2 as fetch
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/fetch2/__init__.py", line 39, in <module>
    from bb import data
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/data.py", line 48, in <module>
    from bb import data_smart
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/data_smart.py", line 35, in <module>
    import bb, bb.codeparser
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/codeparser.py", line 7, in <module>
    from pysh import pyshyacc, pyshlex, sherrors
  File "/mnt/Yo/yoctoproject/poky/bitbake/bin/../lib/bb/pysh/pyshyacc.py", line 657, in <module>
    yacc.yacc(tabmodule = 'pysh.pyshtables', write_tables = 0, debug = 0)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 3231, in yacc
    exec('import %s' % pkgname)
  File "<string>", line 1, in <module>
ImportError: No module named pysh
Comment 1 Ross Burton 2015-12-07 16:34:27 UTC
I think this is fixed by "wic: insert local Python paths at front" which is scheduled for master.
Comment 2 Ed Bartosh 2015-12-10 11:17:33 UTC
Cristian, can you check if Matt's change http://lists.openembedded.org/pipermail/openembedded-core/2015-December/113758.html fixes this issue?
Comment 4 Cristina Agurida 2016-02-15 13:58:34 UTC
Verified on master: 36b43b233c841b3c09fc17e04686b4b758780963
The Python backtrace is no longer present.

/poky/build$ wic
ERROR:root:No subcommand specified, exiting
Usage: 

 Create a customized OpenEmbedded image

 usage: wic [--version] | [--help] | [COMMAND [ARGS]]

 Current 'wic' commands are:
    help              Show help for command or one of the topics (see below)
    create            Create a new OpenEmbedded image
    list              List available canned images and source plugins

 Help topics:
    overview          wic overview - General overview of wic
    plugins           wic plugins - Overview and API
    kickstart         wic kickstart - wic kickstart reference


Options:
  --version   show program's version number and exit
  -h, --help  show this help message and exit