diff mbox series

kconfig: fix "Can't open ..." in parallel build

Message ID 1534394208-13116-1-git-send-email-yamada.masahiro@socionext.com (mailing list archive)
State New, archived
Headers show
Series kconfig: fix "Can't open ..." in parallel build | expand

Commit Message

Masahiro Yamada Aug. 16, 2018, 4:36 a.m. UTC
If you run "make menuconfig" or "make nconfig" with -j<N> option in a
fresh source tree, you will see several "Can't open ..." messages:

  $ make -j8 menuconfig
    HOSTCC  scripts/basic/fixdep
    YACC    scripts/kconfig/zconf.tab.c
    LEX     scripts/kconfig/zconf.lex.c
  /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
  /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
  /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
  /bin/sh: 1: .:   HOSTCC  scripts/kconfig/lxdialog/checklist.o
  Can't open scripts/kconfig/.mconf-cfg
  /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
  /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
  /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
    HOSTCC  scripts/kconfig/lxdialog/inputbox.o
  /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
  /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
  /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
    UPD     scripts/kconfig/.mconf-cfg
  /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
    HOSTCC  scripts/kconfig/lxdialog/menubox.o
    HOSTCC  scripts/kconfig/lxdialog/textbox.o
    HOSTCC  scripts/kconfig/lxdialog/util.o
    HOSTCC  scripts/kconfig/lxdialog/yesno.o
    HOSTCC  scripts/kconfig/mconf.o
    HOSTCC  scripts/kconfig/zconf.tab.o
    HOSTLD  scripts/kconfig/mconf

Correct dependencies to fix this problem.

Fixes: 1c5af5cf9308 ("kconfig: refactor ncurses package checks for building mconf and nconf")
Reported-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 scripts/kconfig/Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Borislav Petkov Aug. 16, 2018, 6:32 a.m. UTC | #1
On Thu, Aug 16, 2018 at 01:36:48PM +0900, Masahiro Yamada wrote:
> If you run "make menuconfig" or "make nconfig" with -j<N> option in a
> fresh source tree, you will see several "Can't open ..." messages:
> 
>   $ make -j8 menuconfig
>     HOSTCC  scripts/basic/fixdep
>     YACC    scripts/kconfig/zconf.tab.c
>     LEX     scripts/kconfig/zconf.lex.c
>   /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
>   /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
>   /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
>   /bin/sh: 1: .:   HOSTCC  scripts/kconfig/lxdialog/checklist.o
>   Can't open scripts/kconfig/.mconf-cfg
>   /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
>   /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
>   /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
>     HOSTCC  scripts/kconfig/lxdialog/inputbox.o
>   /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
>   /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
>   /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
>     UPD     scripts/kconfig/.mconf-cfg
>   /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
>     HOSTCC  scripts/kconfig/lxdialog/menubox.o
>     HOSTCC  scripts/kconfig/lxdialog/textbox.o
>     HOSTCC  scripts/kconfig/lxdialog/util.o
>     HOSTCC  scripts/kconfig/lxdialog/yesno.o
>     HOSTCC  scripts/kconfig/mconf.o
>     HOSTCC  scripts/kconfig/zconf.tab.o
>     HOSTLD  scripts/kconfig/mconf
> 
> Correct dependencies to fix this problem.
> 
> Fixes: 1c5af5cf9308 ("kconfig: refactor ncurses package checks for building mconf and nconf")
> Reported-by: Borislav Petkov <bp@alien8.de>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
> 
>  scripts/kconfig/Makefile | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)

Yap, works.

Thanks!

Tested-by: Borislav Petkov <bp@suse.de>
diff mbox series

Patch

diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index c0ca9ea..1246580 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -177,7 +177,7 @@  HOSTLDLIBS_nconf	= $(shell . $(obj)/.nconf-cfg && echo $$libs)
 HOSTCFLAGS_nconf.o	= $(shell . $(obj)/.nconf-cfg && echo $$cflags)
 HOSTCFLAGS_nconf.gui.o	= $(shell . $(obj)/.nconf-cfg && echo $$cflags)
 
-$(obj)/nconf.o: $(obj)/.nconf-cfg
+$(obj)/nconf.o $(obj)/nconf.gui.o: $(obj)/.nconf-cfg
 
 # mconf: Used for the menuconfig target based on lxdialog
 hostprogs-y	+= mconf
@@ -188,7 +188,8 @@  HOSTLDLIBS_mconf = $(shell . $(obj)/.mconf-cfg && echo $$libs)
 $(foreach f, mconf.o $(lxdialog), \
   $(eval HOSTCFLAGS_$f = $$(shell . $(obj)/.mconf-cfg && echo $$$$cflags)))
 
-$(addprefix $(obj)/, mconf.o $(lxdialog)): $(obj)/.mconf-cfg
+$(obj)/mconf.o: $(obj)/.mconf-cfg
+$(addprefix $(obj)/lxdialog/, $(lxdialog)): $(obj)/.mconf-cfg
 
 # qconf: Used for the xconfig target based on Qt
 hostprogs-y	+= qconf