Bug 4373 - systemd do_compile fails with make 3.82
Summary: systemd do_compile fails with make 3.82
Status: VERIFIED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 1.4
Hardware: x86 Multiple
: Low normal
Target Milestone: 1.5
Assignee: Ross Burton
QA Contact:
URL:
Whiteboard: Release Note 1.4
Depends on:
Blocks:
 
Reported: 2013-04-22 09:20 UTC by Stefan Stanacar
Modified: 2013-10-07 13:27 UTC (History)
3 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments
log.do_compile (596.52 KB, application/octet-stream)
2013-04-22 09:20 UTC, Stefan Stanacar
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Stanacar 2013-04-22 09:20:12 UTC
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
Comment 1 Stefan Stanacar 2013-04-22 09:32:22 UTC
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)
Comment 2 Stefan Stanacar 2013-04-22 10:05:17 UTC
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.
Comment 3 Ross Burton 2013-04-22 10:44:50 UTC
The makefile itself seems reasonable:

  org.freedesktop.systemd1.%.xml: systemd

I'm inclined to say this is a broken make.
Comment 4 Saul Wold 2013-04-22 16:57:41 UTC
Append make-native but need to figure out where still, can be closed after release note and workaround found.
Comment 5 Ross Burton 2013-04-25 09:57:32 UTC
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.
Comment 6 Ross Burton 2013-05-30 13:34:06 UTC
Regarding Suse, 12.1 has been fixed for some time, and 11.4 just had a fix integrated.
Comment 7 Ross Burton 2013-09-10 11:24:09 UTC
Resolving fixed, we detect the broken host make now and tell the user to build make-native.
Comment 8 Stefan Stanacar 2013-10-07 13:27:07 UTC
Okay, check is there and it works. Marked as Verified.