| Summary: | kernel recipes must be cleaned to avoid a confused runtime-reverse directory | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] BitBake | Reporter: | Darren Hart <dvhart> |
| Component: | bitbake | Assignee: | Richard Purdie <richard.purdie> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium | CC: | poky.bs.watcher, poky.watcher |
| Version: | 1.3 | ||
| Target Milestone: | 1.3 | ||
| Hardware: | All | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | --- | |
There is a now a fix in master which sorted the duplicate file detection: http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=8593c6c1d8995f449a41a99c6e3242e2e58e79a5 In a later release we can change warn -> error so rather than warning the user about the issue, we'd see an error. |
Build Configuration: BB_VERSION = "1.15.3" TARGET_ARCH = "i586" TARGET_OS = "linux" MACHINE = "sys940x" DISTRO = "poky" DISTRO_VERSION = "1.2+snapshot-20120924" TUNE_FEATURES = "m32 core2" TARGET_FPU = "" meta-yocto = "master:88429f018bbb15749f31067d5e7bf33c21b15f92" meta-sys940x meta-intel = "dvhart/1.3/fri2:102814d8ba2735d1e24c75b297508f863da9915e" meta = "master:88429f018bbb15749f31067d5e7bf33c21b15f92" While updating sys940x from linux-yocto 3.2 to 3.4, the core-image-sato do_rootfs task would fail with: | ++ ls /build/poky/master/sys940x_AdM_pj/tmp/pkgdata/sys940x-poky-linux/runtime-reverse/kernel-module-ipv6 | + filename=/build/poky/master/sys940x_AdM_pj/tmp/pkgdata/sys940x-poky-linux/runtime-reverse/kernel-module-ipv6 | ++ sed -n 's/^PN: //p' /build/poky/master/sys940x_AdM_pj/tmp/pkgdata/sys940x-poky-linux/runtime-reverse/kernel-module-ipv6 | sed: can't read /build/poky/master/sys940x_AdM_pj/tmp/pkgdata/sys940x-poky-linux/runtime-reverse/kernel-module-ipv6: No such file or directory In linux-yocto 3.4 CONFIG_IPV6=y, in 3.2 CONFIG_IPV6=m. The do_rootfs task found the runtime-reverse/kernel-module-ipv6 link from the previous linux-yocto-rt 3.2 build, while the 3.4 build didn't add or remove the link, but it also didn't install the target the link was pointing to in ../runtime. The warning: bb.warn("The recipe is trying to install files into a shared area when those files already exist. Those files are:\n %s" % "\n ".join(match)) Didn't trigger. I suspect this is because it is looking for files that are being overwritten, as opposed to files which are left over from a previous kernel build and are NOT being recreated. A clean of the previous kernel gets things building again. This can be confusing if the PREFERRED_PROVIDER has moved from the previous version to the new version as the wrong package will get cleaned.