| Summary: | systemd do_compile fails with make 3.82 | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Stefan Stanacar <sstncr> | ||||
| Component: | core | Assignee: | Ross Burton <ross.burton> | ||||
| Status: | VERIFIED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | Low | CC: | meta.mr.watcher, meta.watcher, ross.burton | ||||
| Version: | 1.4 | ||||||
| Target Milestone: | 1.5 | ||||||
| Hardware: | x86 | ||||||
| OS: | Multiple | ||||||
| Whiteboard: | Release Note 1.4 | ||||||
| OS type for building Yocto: | --- | Type of Regression: | --- | ||||
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |||||
| Attachments: |
|
||||||
Okay, so this seems to be a build parallelism issue. I have BB_NUMBER_THREADS = "8" PARALLEL_MAKE = "-j 8" in local.conf but the Fedora 16 host has only two cores (it's a VM with 2 vCPUs). So with BB_NUMBER_THREADS = "1" and PARALLEL_MAKE = "-j 1" bitbake systemd finishes just fine. The wierd thing is that other VMs (Fedora 17, CentOS6.3, Ubuntu 12.10) don't seem to have this problem when using 8 threads (VMs with 2vCPUS on the same host) So it seems it's known make bug. The F16 version (3.82) has a known bug, which was patched only in F17 and F18. The makefile itself seems reasonable: org.freedesktop.systemd1.%.xml: systemd I'm inclined to say this is a broken make. Append make-native but need to figure out where still, can be closed after release note and workaround found. Note that this isn't specific to systemd, webkit-gtk will have the same problem. We're getting reports that OpenSuse 12.1 has a broken make, but according to https://build.opensuse.org/package/show?package=make&project=openSUSE%3A12.1%3AUpdate this was fixed five weeks ago in the 12.1 updates, so "update your distro" is the stock response to that. Regarding Suse, 12.1 has been fixed for some time, and 11.4 just had a fix integrated. Resolving fixed, we detect the broken host make now and tell the user to build make-native. Okay, check is there and it works. Marked as Verified. |
Created attachment 1193 [details] log.do_compile I know that Fedora 16 is EOL and it's no longer supported but it might still worth finding out why systemd fails to compile. bitbake systemd works just fine on Fedora 17, Fedora 18, CentOS 6.3, Ubuntu 12.10 and 12.04, OpenSuse 12.3, so I'm not sure what's so special about Fedora 16 (or if something is wrong with my host.) This was a clean build btw (no sstate, no previous build). local.conf: DISTRO_FEATURES_append = " systemd" VIRTUAL-RUNTIME_init_manager = "systemd" bitbake systemd Build Configuration: BB_VERSION = "1.18.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "Fedora-16" TARGET_SYS = "x86_64-poky-linux" MACHINE = "qemux86-64" DISTRO = "poky" DISTRO_VERSION = "1.4" TUNE_FEATURES = "m64" TARGET_FPU = "" meta meta-yocto meta-yocto-bsp = "dylan:789b2b7e0cca404ff8ba8ed5ba823d215e6ba5b4" ./x86_64-poky-linux-libtool --mode=execute x86_64-poky-linux-objcopy -O binary -j introspect.Timer systemd org.freedesktop.systemd1.Timer.xml.tmp && \ | x86_64-poky-linux-strings org.freedesktop.systemd1.Timer.xml.tmp | gawk -f /data/yocto/a/poky/build/tmp/work/x86_64-poky-linux/systemd/1_199-r3/systemd-199/introspect.awk | \ | x86_64-poky-linux-cpp --sysroot=/data/yocto/a/poky/build/tmp/sysroots/qemux86-64 -m64 -P -O2 -pipe -g -feliminate-unused-debug-types -I/data/yocto/a/poky/build/tmp/sysroots/qemux86-64/usr/include/dbus-1.0 -I/data/yocto/a/poky/build/tmp/sysroots/qemux86-64/usr/lib/dbus-1.0/include -imacros dbus/dbus-protocol.h -o org.freedesktop.systemd1.Timer.xml - && rm org.freedesktop.systemd1.Timer.xml.tmp | x86_64-poky-linux-objcopy: 'systemd': No such file | make[2]: *** [org.freedesktop.systemd1.Manager.xml] Error 1 | make[2]: *** Waiting for unfinished jobs.... | x86_64-poky-linux-objcopy: x86_64-poky-linux-objcopy: 'systemd': No such file