kernel-build: fix kernel_menuconfig breakage by forcing YACC
authorPetr Štetiar <>
Mon, 11 Nov 2019 20:37:45 +0000 (21:37 +0100)
committerPetr Štetiar <>
Thu, 14 Nov 2019 21:53:31 +0000 (22:53 +0100)
Commit 965f341aa9fd ("build: fix host menu config targets using
ncurses") has moved host's path with pkg-config (usually /usr/bin) at
the first place in PATH variable, which is now causing issues with bison
as BISON_PKGDATADIR points into STAGING_DIR_HOST, but the actual bison
used is the one under host PATH (usually /usr/bin/bison), leading to the
following strange failures:

 $ make target/linux/clean kernel_menuconfig V=sc

 export MAKEFLAGS= ;make -C /somewhere/linux-4.19.81 menuconfig
 make -f ./scripts/ obj=scripts/kconfig menuconfig
  bison -oscripts/kconfig/ -t -l scripts/kconfig/zconf.y
  staging_dir/host/bin/m4: cannot open `staging_dir/host/share/bison/bison.m4': No such file or directory
  staging_dir/host/bin/m4: cannot open `staging_dir/host/share/bison/c-skel.m4': No such file or directory
  gcc -Wp,-MD,scripts/kconfig/ <...snip...> -o scripts/kconfig/ scripts/kconfig/
  gcc: error: scripts/kconfig/ No such file or directory
  gcc: fatal error: no input files

Fix this by forcing usage of bison under STAGING_DIR_HOST/bin via YACC
make variable.

Cc: Thomas Albers <>
Cc: Stijn Tintel <>
Cc: Eneas U de Queiroz <>
Tested-by: Ivan Revyakin <>
Tested-by: Thomas Albers <>
Fixes: 965f341aa9fd ("build: fix host menu config targets using ncurses")
Signed-off-by: Petr Štetiar <>

index 3fdf7ef..684fbd3 100644 (file)
@@ -163,6 +163,7 @@ define BuildKernel
        $(LINUX_RECONF_CMD) > $(LINUX_DIR)/.config
        $(_SINGLE)$(KERNEL_MAKE) \
                $(if $(findstring Darwin,$(HOST_OS)),HOST_LOADLIBES="-L$(STAGING_DIR_HOST)/lib -lncurses") \
+               YACC=$(STAGING_DIR_HOST)/bin/bison \