[yocto] perf build breaks in poky master branch
Maxin B. John
maxin.john at enea.com
Tue Mar 19 06:06:20 PDT 2013
Hi,
Perf build fails while trying to build core-image-minimal for qemux86,
$ git clone git://git.yoctoproject.org/poky
$ cd poky
$ source oe-init-build-env
$ bitbake core-image-minimal
Pseudo is not present but is required, building this first before the main build
Loading cache: 100%
|###############################################################################|
ETA: 00:00:00
Loaded 347 entries from dependency cache.
ERROR: ExpansionError during parsing
/home/majo/master/poky/meta/recipes-kernel/perf/perf.bb:
Failure expanding variable do_package: ExpansionError: Failure
expanding variable do_package, expression was
bb.data.setVar('PKGV',
'${@get_kernelversion('/home/majo/master/poky/build/tmp/sysroots/qemux86/usr/src/kernel').split("-")[0]}',
d)
# Change the following version to cause sstate to invalidate the
# package
# cache. This is useful if an item this class depends on changes
# in a
# way that the output of this class changes. rpmdeps is a good
# example
# as any change to rpmdeps requires this to be rerun.
# PACKAGE_BBCLASS_VERSION = "1"
# Init cachedpath
global cpath
cpath = oe.cachedpath.CachedPath()
###########################################################################
# Sanity test the setup
###########################################################################
packages = (d.getVar('PACKAGES', True) or "").split()
if len(packages) < 1:
bb.debug(1, "No packages to build, skipping do_package")
return
workdir = d.getVar('WORKDIR', True)
outdir = d.getVar('DEPLOY_DIR', True)
dest = d.getVar('D', True)
dvar = d.getVar('PKGD', True)
pn = d.getVar('PN', True)
if not workdir or not outdir or not dest or not dvar or not pn:
bb.error("WORKDIR, DEPLOY_DIR, D, PN and PKGD all must be
defined, unable to package")
return
bb.build.exec_func("package_get_auto_pr", d)
###########################################################################
# Optimisations
###########################################################################
# Contunually rexpanding complex expressions is inefficient,
# particularly when
# we write to the datastore and invalidate the expansion cache.
# This code
# pre-expands some frequently used variables
def expandVar(x, d):
d.setVar(x, d.getVar(x, True))
for x in 'PN', 'PV', 'BPN', 'TARGET_SYS', 'EXTENDPRAUTO':
expandVar(x, d)
###########################################################################
# Setup PKGD (from D)
###########################################################################
for f in (d.getVar('PACKAGEBUILDPKGD', True) or '').split():
bb.build.exec_func(f, d)
###########################################################################
# Split up PKGD into PKGDEST
###########################################################################
cpath = oe.cachedpath.CachedPath()
for f in (d.getVar('PACKAGESPLITFUNCS', True) or '').split():
bb.build.exec_func(f, d)
###########################################################################
# Process PKGDEST
###########################################################################
# Build global list of files in each split package
global pkgfiles
pkgfiles = {}
packages = d.getVar('PACKAGES', True).split()
pkgdest = d.getVar('PKGDEST', True)
for pkg in packages:
pkgfiles[pkg] = []
for walkroot, dirs, files in cpath.walk(pkgdest + "/" + pkg):
for file in files:
pkgfiles[pkg].append(walkroot + os.sep + file)
for f in (d.getVar('PACKAGEFUNCS', True) or '').split():
bb.build.exec_func(f, d)
which triggered exception AttributeError: 'NoneType' object has no
attribute 'split'
NOTE: Error during finalise of
/home/majo/master/poky/meta/recipes-kernel/perf/perf.bb
ERROR: Command execution failed: Exited with 1
Summary: There were 2 ERROR messages shown, returning a non-zero exit
code.
More information about the yocto
mailing list