[OE-core] [PATCH] distutils: pass along parallel make flags to setup.py build

Richard Purdie richard.purdie at linuxfoundation.org
Thu Oct 24 08:21:17 UTC 2019


On Wed, 2019-10-23 at 10:59 -0700, Nick Owens wrote:
> parallel builds for native code in python modules was added about 5
> years ago. distutils understands '-j N', so just pass along
> the right argument to setup.py build.
> 
> Signed-off-by: Nick Owens <nick.owens at eero.com>
> ---
>  meta/classes/distutils.bbclass | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/classes/distutils.bbclass
> b/meta/classes/distutils.bbclass
> index b5c9c2fbbd..ea479f552e 100644
> --- a/meta/classes/distutils.bbclass
> +++ b/meta/classes/distutils.bbclass
> @@ -23,7 +23,7 @@ distutils_do_compile() {
>           NO_FETCH_BUILD=1 \
>           STAGING_INCDIR=${STAGING_INCDIR} \
>           STAGING_LIBDIR=${STAGING_LIBDIR} \
> -         ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN}
> setup.py build ${DISTUTILS_BUILD_ARGS} || \
> +         ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN}
> setup.py build ${@oe.utils.parallel_make_argument(d, "-j %d")}
> ${DISTUTILS_BUILD_ARGS} || \
>           bbfatal_log "'${PYTHON_PN} setup.py build
> ${DISTUTILS_BUILD_ARGS}' execution failed."
>  }

Fails on the autobuilder in testing (step 3b):

https://autobuilder.yoctoproject.org/typhoon/#/builders/69/builds/1164

ERROR: python-setuptools-native-41.4.0-r0 do_compile: 'python setup.py build ' execution failed.
ERROR: python-setuptools-native-41.4.0-r0 do_compile: Execution of '/home/pokybuild/yocto-worker/qa-extras/build/build/tmp/work/x86_64-linux/python-setuptools-native/41.4.0-r0/temp/run.do_compile.5035' failed with exit code 1:
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help

error: option -j not recognized
WARNING: /home/pokybuild/yocto-worker/qa-extras/build/build/tmp/work/x86_64-linux/python-setuptools-native/41.4.0-r0/temp/run.do_compile.5035:1 exit 1 from 'exit 1'

ERROR: Logfile of failure stored in: /home/pokybuild/yocto-worker/qa-extras/build/build/tmp/work/x86_64-linux/python-setuptools-native/41.4.0-r0/temp/log.do_compile.5035
Log data follows:
| DEBUG: Executing shell function do_compile
| usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
|    or: setup.py --help [cmd1 cmd2 ...]
|    or: setup.py --help-commands
|    or: setup.py cmd --help
| 
| error: option -j not recognized
| ERROR: 'python setup.py build ' execution failed.
| WARNING: /home/pokybuild/yocto-worker/qa-extras/build/build/tmp/work/x86_64-linux/python-setuptools-native/41.4.0-r0/temp/run.do_compile.5035:1 exit 1 from 'exit 1'
| ERROR: Execution of '/home/pokybuild/yocto-worker/qa-extras/build/build/tmp/work/x86_64-linux/python-setuptools-native/41.4.0-r0/temp/run.do_compile.5035' failed with exit code 1:
| usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
|    or: setup.py --help [cmd1 cmd2 ...]
|    or: setup.py --help-commands
|    or: setup.py cmd --help
| 
| error: option -j not recognized
| WARNING: /home/pokybuild/yocto-worker/qa-extras/build/build/tmp/work/x86_64-linux/python-setuptools-native/41.4.0-r0/temp/run.do_compile.5035:1 exit 1 from 'exit 1'
| 
NOTE: recipe python-setuptools-native-41.4.0-r0: task do_compile: Failed
ERROR: Task (virtual:native:/home/pokybuild/yocto-worker/qa-extras/build/meta/recipes-devtools/python/python-setuptools_41.4.0.bb:do_compile) failed with exit code '1'

Also:

https://autobuilder.yoctoproject.org/typhoon/#/builders/64/builds/1164
https://autobuilder.yoctoproject.org/typhoon/#/builders/45/builds/1166
https://autobuilder.yoctoproject.org/typhoon/#/builders/40/builds/1163

Cheers,

Richard




More information about the Openembedded-core mailing list