[OE-core] [PATCH] kernel.bbclass: set HOSTLDFLAGS in KCONFIG_CONFIG_COMMAND

Bruce Ashfield bruce.ashfield at windriver.com
Thu Jan 25 14:21:55 UTC 2018


On 01/24/2018 10:12 PM, California Sullivan wrote:
> Kernel v4.14 and newer contain the following in their Makefile:
> 
> HOST_LFS_LDFLAGS := $(shell getconf LFS_LDFLAGS)
> HOSTLDFLAGS  := $(HOST_LFS_LDFLAGS)
> 
> This breaks our menuconfig, because it can no longer find ncurses if its
> not on the host machine. This can be seen in linux-yocto-dev, for
> example:
> 
> [clsulliv at clsulliv build]$ bitbake virtual/kernel -c menuconfig
> 
>    GEN     ./Makefile
>    HOSTLD  scripts/kconfig/mconf
> /home/clsulliv/yocto/poky/build/tmp/hosttools/ld: cannot find -lncurses
> /home/clsulliv/yocto/poky/build/tmp/hosttools/ld: cannot find -ltinfo
> collect2: error: ld returned 1 exit status
> make[3]: *** [scripts/Makefile.host:99: scripts/kconfig/mconf] Error 1
> make[2]: *** [/home/clsulliv/yocto/poky/build/tmp/work-shared/intel-corei7-64/kernel-source/Makefile:504: menuconfig] Error 2
> make[1]: *** [Makefile:146: sub-make] Error 2
> make: *** [Makefile:24: __sub-make] Error 2
> Command failed.
> Press any key to continue...

Does this fix still require a kernel patch ? I was trying to test
it out here, and may have messed up the steps.

If I remove ncurses-dev from my builder, I'm not able to get a
working menuconfig no matter what combination of this patch
applied (or not) or my menuconfig patch applied (or not).

I can say that having this applied didn't break my menuconfig,
but I wasn't able to fully test.

Should I expect a builder without ncurses-dev + just this patch
to be able to run menuconfig ?

Bruce

> 
> Fix this by setting HOSTLDFLAGS to ${BUILD_LDFLAGS} in our
> 'make menuconfig' command.
> 
> Signed-off-by: California Sullivan <california.l.sullivan at intel.com>
> ---
>   meta/classes/kernel.bbclass | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index 2f6eca382e9..e4df1531c19 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -531,6 +531,8 @@ addtask savedefconfig after do_configure
>   
>   inherit cml1
>   
> +KCONFIG_CONFIG_COMMAND_append = " HOSTLDFLAGS='${BUILD_LDFLAGS}'"
> +
>   EXPORT_FUNCTIONS do_compile do_install do_configure
>   
>   # kernel-base becomes kernel-${KERNEL_VERSION}
> 




More information about the Openembedded-core mailing list