Bug 12567 - parallel_make_argument broken
Summary: parallel_make_argument broken
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: unspecified
Hardware: x86 Multiple
: High normal
Target Milestone: 2.5 M3
Assignee: Ross Burton
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2018-02-22 15:05 UTC by Diego Russo
Modified: 2018-02-27 10:30 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

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Russo 2018-02-22 15:05:39 UTC
Pull request https://github.com/openembedded/openembedded-core/commit/ccd1142d22b31ed85d8823b1bc9e11ccfd72b61f?diff=unified#r27676626 has introduced two new functions which deal with parallelism: parallel_make and parallel_make_argument.
The implementation of parallel_make_argument is broken when a limit is passed to the function.

The boost recipe (https://github.com/openembedded/openembedded-core/blob/ccd1142d22b31ed85d8823b1bc9e11ccfd72b61f/meta/recipes-support/boost/boost.inc) uses the new function in this way:

BOOST_PARALLEL_MAKE = "${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)}"

with limit=64 to safeguard a bug which is present in bjam.

In our builds we have set PARALLEL_MAKE=16, so we expect bjam to run with -j16 but instead it will be always running with -j64.

This because the implementation of parallel_make_argument is not correct.
Comment 1 Ross Burton 2018-02-22 15:13:16 UTC
Patch already on the list, will be in master soon.
Comment 2 Diego Russo 2018-02-22 15:14:38 UTC
Ross, thanks for the update!
Comment 3 Diego Russo 2018-02-27 10:30:40 UTC
I see this has been fixed by https://github.com/openembedded/openembedded-core/commit/45205be547967c84dff96403c3a6825a62e3ca6a

I tried a build and it is working as expected setting PARALLEL_MAKE=16

bjam -j16 -d+2 -q --ignore-site-config -sTOOLS=gcc -sGCC=arm-oe-linux-gnueabi-gcc...

I'll close the ticket as resolved/fixed.

Thanks