[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