[oe-commits] [openembedded-core] 99/102: kernel-yocto: do_kernel_configme: Fix silent sysroot poisoning error

git at git.openembedded.org git at git.openembedded.org
Tue Aug 30 22:59:09 UTC 2016


rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 8142d21e51477a99c2a28bf3c5aa4641202284b3
Author: Ioan-Adrian Ratiu <adrian.ratiu at ni.com>
AuthorDate: Tue Aug 30 12:49:06 2016 -0400

    kernel-yocto: do_kernel_configme: Fix silent sysroot poisoning error
    
    do_kernel_configme calls merge_config.sh (installed in the sysroot by
    the kern-tools-native recipe) which may invoke the compiler to complete
    the configuration process.
    
    Depending on the build (and dependencies), this may error due to sysroot poisoning [1].
    
    The errors are similar to:
    
      make[1]: Entering directory '4.1+gitAUTOINC+a7e53ecc27-r0/linux-x64-standard-build' HOSTCC  scripts/basic/fixdep
      work-shared/x64/kernel-source/scripts/basic/fixdep.c:106:23: fatal error: sys/types.h: No such file or directory
      compilation terminated.
      make[2]: *** [work-shared/x64/kernel-source/scripts/basic/Makefile:22: scripts/basic/x86_64-nilrt-linux-fixdep] Error 1
    
    Adding $TOOLCHAIN_OPTIONS to $CFLAGS before calling merge_configs.sh
    fixes the error because $TOOLCHAIN_OPTIONS defines the sysroot and make
    uses it to correctly compile & fill all missing kernel config options.
    
    [1] http://lists.openembedded.org/pipermail/openembedded-core/2014-October/098253.html
    
    Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu at ni.com>
    Signed-off-by: Bruce Ashfield <bruce.ashfield at windriver.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/classes/kernel-yocto.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 9b8bab6..068378f 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -255,7 +255,7 @@ do_kernel_configme() {
 		bbfatal_log "Could not find configuration queue (${meta_dir}/config.queue)"
 	fi
 
-	ARCH=${ARCH} merge_config.sh -O ${B} ${config_flags} ${configs} > ${meta_dir}/cfg/merge_config_build.log 2>&1
+	CFLAGS="${CFLAGS} ${TOOLCHAIN_OPTIONS}"	ARCH=${ARCH} merge_config.sh -O ${B} ${config_flags} ${configs} > ${meta_dir}/cfg/merge_config_build.log 2>&1
 	if [ $? -ne 0 ]; then
 		bbfatal_log "Could not configure ${KMACHINE}-${LINUX_KERNEL_TYPE}"
 	fi

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list