Hello GNU Make folks,

I am a Linux kernel developer.



I think the following commit broke
the parallel building of Linux kernel.


commit 2b8e3bb23f96c2458818f011593557d3353dade3
Author: Paul Smith <psm...@gnu.org>
Date:   Mon Jan 2 14:08:54 2017 -0500

    Clean up close-on-exec, particularly with jobserver pipes.





How to reproduce the problem
----------------------------


You can get the Linux kernel source code by

$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
$ git checkout v4.17


At the top of the Linux kernel source tree, run

$ make -j8 defconfig all



This worked fine with GNU Make prior to that commit.



If you use GNU Make with that commit,
'jobserver unavailable: using -j1.  Add '+' to parent make rule'
is displayed, then the whole build process of Linux kernel
is serialized.




$ make -j8 defconfig all
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  YACC    scripts/kconfig/zconf.tab.c
  LEX     scripts/kconfig/zconf.lex.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
*** Default configuration is based on 'x86_64_defconfig'
#
# configuration written to .config
#
scripts/kconfig/conf  --syncconfig Kconfig
make[1]: warning: jobserver unavailable: using -j1.  Add '+' to parent
make rule.
  SYSTBL  arch/x86/include/generated/asm/syscalls_32.h



The commit subject says 'Clean up', but
I think this is accidental breakage.

Any clue?



-- 
Best Regards
Masahiro Yamada

_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to