If DEPENDS has two recipes that provide the same file, the error isn't obvious: ERROR: gst-player-0.0.1+gitAUTOINC+ee3c226c82-r0 do_prepare_recipe_sysroot: Function failed: extend_recipe_sysroot ERROR: Logfile of failure stored in: /data/poky-master/tmp/work/corei7-64-poky-linux/gst-player/0.0.1+gitAUTOINC+ee3c226c82-r0/temp/log.do_prepare_recipe_sysroot.17492 ERROR: gstreamer1.0-vaapi-1.10.4-r0 do_prepare_recipe_sysroot: 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/ross/Yocto/poky/meta/classes/staging.bbclass', lineno: 592, function: extend_recipe_sysroot 0588: dest = newmanifest[l] 0589: if l.endswith("/"): 0590: staging_copydir(l, targetdir, dest, seendirs) 0591: continue *** 0592: staging_copyfile(l, targetdir, dest, postinsts, seendirs) 0593: 0594: for f in fixme: 0595: if f == '': 0596: staging_processfixme(fixme[f], recipesysroot, recipesysroot, recipesysrootnative, d) File: '/home/ross/Yocto/poky/meta/classes/staging.bbclass', lineno: 233, function: staging_copyfile 0229: os.symlink(linkto, dest) 0230: #bb.warn(c) 0231: else: 0232: try: *** 0233: os.link(c, dest) 0234: except OSError as err: 0235: if err.errno == errno.EXDEV: 0236: bb.utils.copyfile(c, dest) 0237: else: Exception: FileExistsError: [Errno 17] File exists: '/data/poky-master/tmp/sysroots-components/corei7-64/gstreamer1.0-plugins-base/usr/lib/gstreamer-1.0/libgstrawparse.so' -> '/data/poky-master/tmp/work/corei7-64-poky-linux/gstreamer1.0-vaapi/1.10.4-r0/recipe-sysroot/usr/lib/gstreamer-1.0/libgstrawparse.so' If it could just say something like this then it would be a lot nicer: ERROR: gstreamer1.0-vaapi depends on gstreamer1.0-plugins-base that provides /usr/lib/gstreamer-1.0/libgstrawparse.so but that is already provided by <LOOK THIS UP>
We're seeing this error too but it is caused by something else. If we have a recipe with an intertask dependency on a recipe using a different multilib config we get many instances of errors caused by exceptions thrown in staging.bbclass. A recipe using aarch64 tuning (not that it matters) depends on do_deploy from a recipe that needs to be built with a multilib config named softfp: do_compile[depends] += "softfp-brcm-crmu:do_deploy" ML config defined as: require conf/multilib.conf MULTILIB_GLOBAL_VARIANTS += "softfp" MULTILIBS += "multilib:softfp" DEFAULTTUNE_virtclass-multilib-softfp = "armv6t" I caught all the exceptions throwing in staging.bbclass but other errors show up as well later. ERROR: brcm-atf-gitAUTOINC+e0ccbe65dd-r0 do_install: 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/pramodku/repos/yocto/12092017/poky/build/../meta/classes/staging.bbclass', lineno: 592, function: extend_recipe_sysroot 0588: dest = newmanifest[l] 0589: if l.endswith("/"): 0590: staging_copydir(l, targetdir, dest, seendirs) 0591: continue *** 0592: staging_copyfile(l, targetdir, dest, postinsts, seendirs) 0593: 0594: for f in fixme: 0595: if f == '': 0596: staging_processfixme(fixme[f], recipesysroot, recipesysroot, recipesysrootnative, d) File: '/home/pramodku/repos/yocto/12092017/poky/build/../meta/classes/staging.bbclass', lineno: 233, function: staging_copyfile 0229: os.symlink(linkto, dest) 0230: #bb.warn(c) 0231: else: 0232: try: *** 0233: os.link(c, dest) 0234: except OSError as err: 0235: if err.errno == errno.EXDEV: 0236: bb.utils.copyfile(c, dest) 0237: else: Exception: FileExistsError: [Errno 17] File exists: '/home/pramodku/repos/yocto/12092017/poky/build/tmp/sysroots-components/armv6-vfp/softfp-gcc-runtime/usr/share/gcc-7.1.0/python/libstdcxx/__init__.py' -> '/home/pramodku/repos/yocto/12092017/poky/build/tmp/work/bcm958802a8021-pokymlsoftfp-linux-gnueabi/brcm-atf/gitAUTOINC+e0ccbe65dd-r0/softfp-recipe-sysroot/usr/share/gcc-7.1.0/python/libstdcxx/__init__.py'
Jonathan: current master should be giving you a nice error message now, can you test with that? (fixed in oe-core 2ebbeb61114e4b847e9164c621ac87b5cf03a299)
Thanks Ross. I noticed we were behind a bit. I don't see a warning but your commit actually fixes the problem.
Actually looking more closely at your fix it should print a warning only. Not sure why I don't see the issue anymore. Maybe it will re-appear, or a different commit fixed it. I'll file a different bug if it comes back.