Bug 10184

Summary: Autobuilder fails when PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}"
Product: [Infrastructure] AutoBuilder Reporter: Eilís Ní Fhlannagáin <pidge>
Component: autobuilderAssignee: Unassigned <unassigned>
Status: RESOLVED OBSOLETE QA Contact:
Severity: normal    
Priority: Medium CC: infras.ab.watcher, Infras.watcher, pidge, richard.purdie, sgw
Version: 2.0.3   
Target Milestone: Future   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Eilís Ní Fhlannagáin 2016-08-24 12:30:59 UTC
If you set autoconf up to allow PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}", then odd things happen.

Specifically:

NOTE: recipe quilt-native-0.64-r0: task do_compile: Started
ERROR: oe_runmake failed
ERROR: Function failed: do_compile (log file is located at /home/pidge/yocto-autobuilder/yocto-worker/nightly/build/build-brcm97449svms-refboard/tmp/work/x86_64-linux/quilt-native/0.64-r0/temp/log.do_compile.16490)
ERROR: Logfile of failure stored in: /home/pidge/yocto-autobuilder/yocto-worker/nightly/build/build-brcm97449svms-refboard/tmp/work/x86_64-linux/quilt-native/0.64-r0/temp/log.do_compile.16490
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: make 16
| make: *** No rule to make target '16'.  Stop.
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (log file is located at /home/pidge/yocto-autobuilder/yocto-worker/nightly/build/build-brcm97449svms-refboard/tmp/work/x86_64-linux/quilt-native/0.64-r0/temp/log.do_compile.16490)
NOTE: recipe quilt-native-0.64-r0: task do_compile: Failed

It seems the -j is getting stripped out somewhere.

If you set the PARALLEL_MAKE to something like "-j 4" then everything is fine.

This might be happening in bitbake, as this works fine in shell (obviously).
Comment 1 Bill Randle 2016-08-24 17:17:28 UTC
If you are putting this in config/autobuilder.conf, the value for PARALLEL_MAKE is just the number with no "-j". The "-j" is added later in CreateAutoConf.py. This confused me no end at one point and I got that same exact 'make 16' error.
Comment 2 Richard Purdie 2016-08-25 14:48:29 UTC
Beth: Was this a configuration error as per Bill's question?
Comment 3 Eilís Ní Fhlannagáin 2016-08-25 15:16:16 UTC
Well, so let me explain my setup.

I do not run CreateAutoConf. It's taken care of by some external processes. I run a somewhat hacked RunPreamble that does the setup, and then I run BuildImages.

So, yeah, I don't think it's coming from autobuilder.conf. I guess the way to test this is set an append in CreateAutoConf:

PARALLEL_MAKE = "-j ${@oe.utils.cpu_count()}"
Comment 4 Richard Purdie 2018-10-11 15:30:28 UTC
New autobuilder code doesn't have this issue.