Bug 8555

Summary: Reading shlibs providers sometimes fails
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Jussi Kukkonen <jku>
Component: coreAssignee: Ross Burton <ross.burton>
Status: VERIFIED FIXED QA Contact: Jose Perez C <jose.perez.carranza>
Severity: normal    
Priority: Medium+ CC: jose.perez.carranza, meta.mr.watcher, meta.watcher
Version: unspecified   
Target Milestone: 2.2 M2   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Jussi Kukkonen 2015-10-22 10:37:18 UTC
I pulled jethro branch this morning and was building core-image-sato when atk failed. Trying again, it worked fine.

Did glib-networking.list just disappear between os.listdir() and open()?



DEBUG: Executing python function package_do_shlibs
DEBUG: Reading shlib providers in /home/jku/src/poky/build/tmp/sysroots/qemux86/pkgdata/shlibs2
ERROR: Error executing a python function in /home/jku/src/poky/meta/recipes-support/atk/at-spi2-atk_2.16.0.bb:

The stack trace of python calls that resulted in this exception/failure was:
File: 'package_do_shlibs', lineno: 249, function: <module>
     0245:                fd.write(dep + '\n')
     0246:            fd.close()
     0247:
     0248:
 *** 0249:package_do_shlibs(d)
     0250:
File: 'package_do_shlibs', lineno: 128, function: package_do_shlibs
     0124:    else:
     0125:        use_ldconfig = False
     0126:
     0127:    needed = {}
 *** 0128:    shlib_provider = oe.package.read_shlib_providers(d)
     0129:
     0130:    for pkg in packages.split():
     0131:        private_libs = d.getVar('PRIVATE_LIBS_' + pkg, True) or d.getVar('PRIVATE_LIBS', True) or ""
     0132:        private_libs = private_libs.split()
File: '/home/jku/src/poky/meta/lib/oe/package.py', lineno: 117, function: read_shlib_providers
     0113:        for file in os.listdir(dir):
     0114:            m = list_re.match(file)
     0115:            if m:
     0116:                dep_pkg = m.group(1)
 *** 0117:                fd = open(os.path.join(dir, file))
     0118:                lines = fd.readlines()
     0119:                fd.close()
     0120:                for l in lines:
     0121:                    s = l.strip().split(":")
Exception: IOError: [Errno 2] No such file or directory: '/home/jku/src/poky/build/tmp/sysroots/qemux86/pkgdata/shlibs2/glib-networking.list'
Comment 1 Ross Burton 2016-07-20 13:41:38 UTC
Fixed in oe-core 1e355da3fda742c78d99ddd2ee5caa9df52f92e1.
Comment 2 Jose Perez C 2016-08-12 17:11:58 UTC
Verified on commit : 6b66e9317f4ec3a69f98f29836aafa35b52f3fc7