Bug 10982

Summary: building eSDK fails after switching from sysinitv to systemd
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Andrea Galbusera <gizero>
Component: coreAssignee: Ross Burton <ross.burton>
Status: VERIFIED FIXED QA Contact: David Lopez Barriba <davidx.lopez.barriba>
Severity: normal    
Priority: Medium+ CC: jose.perez.carranza, meta.mr.watcher, meta.watcher
Version: unspecified   
Target Milestone: 2.3 M3   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Andrea Galbusera 2017-01-27 16:14:32 UTC
Observed on poky commit (default configuration):
478644aedf04ba4d861e27e2955a6afecd1bc311

Steps to Repeat
================
$ git clone git://git.yoctoproject.org/poky
$ cd poky
$ git checkout master
$ source oe-init-build-env
$ bitbake core-image-minimal
$ bitbake core-image-minimal -c populate_sdk_ext

(both the image and eSDK build fine)

* enable systemd by adding the following to local.conf (no backfilling of sysinitv)

DISTRO_FEATURES_append = " systemd"
VIRTUAL-RUNTIME_init_manager = "systemd"

$ bitbake core-image-minimal (raise some wornings but succeeds)
$ bitbake core-image-minimal -c populate_sdk_ext


Observed Behavior
==================
Fails with...

BB_VERSION        = "1.32.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "universal"
TARGET_SYS        = "i586-poky-linux"
MACHINE           = "qemux86"
DISTRO            = "poky"
DISTRO_VERSION    = "2.2+snapshot-20170127"
TUNE_FEATURES     = "m32 i586"
TARGET_FPU        = ""
meta
meta-poky
meta-yocto-bsp    = "master:478644aedf04ba4d861e27e2955a6afecd1bc311"
 
Initialising tasks: 100% |#################################################################################################################################################################| Time: 0:00:04
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: core-image-minimal-1.0-r0 do_sdk_depends: 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:extend_recipe_sysroot(d)
     0003:
File: '/home/gizero/work/upstreaming/poky/meta/classes/staging.bbclass', lineno: 560, function: extend_recipe_sysroot
     0556:                        continue
     0557:                    if native:
     0558:                        dest = staging_copyfile(l, recipesysrootnative, fixme['native'], postinsts, stagingdir)
     0559:                    else:
 *** 0560:                        dest = staging_copyfile(l, destsysroot, fixme[''], postinsts, stagingdir)
     0561:                    if dest:
     0562:                        m.write(dest + "\n")
     0563:
     0564:    for f in fixme:
File: '/home/gizero/work/upstreaming/poky/meta/classes/staging.bbclass', lineno: 272, function: staging_copyfile
     0268:        os.symlink(linkto, dest)
     0269:        #bb.warn(c)
     0270:    else:
     0271:        try:
 *** 0272:            os.link(c, dest)
     0273:        except OSError as err:
     0274:            if err.errno == errno.EXDEV:
     0275:                bb.utils.copyfile(c, dest)
     0276:            else:
Exception: FileExistsError: [Errno 17] File exists: '/scratch/gizero/poky-master-build/tmp/sysroots-components/i586/systemd/usr/include/libudev.h' -> '/scratch/gizero/poky-master-build/tmp/work/qemux86-
poky-linux/core-image-minimal/1.0-r0/recipe-sysroot/usr/include/libudev.h'
 
ERROR: core-image-minimal-1.0-r0 do_sdk_depends: Function failed: extend_recipe_sysroot
ERROR: Logfile of failure stored in: /scratch/gizero/poky-master-build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/temp/log.do_sdk_depends.21053
ERROR: Task (/home/gizero/work/upstreaming/poky/meta/recipes-core/images/core-image-minimal.bb:do_sdk_depends) failed with exit code '1'

Expected Behavior
==================
Should build the eSDK successfully
Comment 1 Ross Burton 2017-02-02 16:34:39 UTC
Looks like Richard's recent changes have fixed this as I can't replicate with current oe-core master.
Comment 2 Andrea Galbusera 2017-02-08 09:15:25 UTC
Confirmed! My original test that builds eSDK for core-image-minimal while switching back and forth between sysinitv and systemd is now working for me with current master (a624cf7f95c8cf4ff764cc997fd1db4601b97dcc).
Comment 3 David Lopez Barriba 2017-04-20 17:04:05 UTC
Verified on master:1423508b29fc557d8a1305f39c33de33e28d9003