From patchwork Mon Aug 20 18:49:23 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: kmod-native_git.bb: fix builds for hosts with older libc Date: Mon, 20 Aug 2012 18:49:23 -0000 From: Matthew McClintock X-Patchwork-Id: 34973 Message-Id: <1345488563-30901-1-git-send-email-msm@freescale.com> To: kmod will fail to build with the following error because O_CLOEXEC is not defined: | libkmod/libkmod-module.c: In function 'kmod_module_get_initstate': | libkmod/libkmod-module.c:1640: error: 'O_CLOEXEC' undeclared (first use in this function) | libkmod/libkmod-module.c:1640: error: (Each undeclared identifier is reported only once | libkmod/libkmod-module.c:1640: error: for each function it appears in.) | libkmod/libkmod-module.c: In function 'kmod_module_get_refcnt': | libkmod/libkmod-module.c:1754: error: 'O_CLOEXEC' undeclared (first use in this function) | libkmod/libkmod-module.c: In function 'kmod_module_get_sections': | libkmod/libkmod-module.c:1913: error: 'O_CLOEXEC' undeclared (first use in this function) | libkmod/libkmod-file.c: In function 'kmod_file_open': | libkmod/libkmod-file.c:282: error: 'O_CLOEXEC' undeclared (first use in this function) | libkmod/libkmod-file.c:282: error: (Each undeclared identifier is reported only once | libkmod/libkmod-file.c:282: error: for each function it appears in.) Since we are only using kmod-native for depmod, and it's a non-threaded user of this libary being built this should be safe to override O_CLOEXEC. Keep in mind this is ONLY effecting the native builds and not what is being shipped in the root file system. Signed-off-by: Matthew McClintock --- meta/recipes-kernel/kmod/kmod-native_git.bb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/meta/recipes-kernel/kmod/kmod-native_git.bb b/meta/recipes-kernel/kmod/kmod-native_git.bb index 96de8b8..3c5e3c3 100644 --- a/meta/recipes-kernel/kmod/kmod-native_git.bb +++ b/meta/recipes-kernel/kmod/kmod-native_git.bb @@ -4,7 +4,7 @@ require kmod.inc inherit native -PR = "${INC_PR}.0" +PR = "${INC_PR}.1" do_install_append (){ for tool in depmod insmod lsmod modinfo modprobe rmmod @@ -12,3 +12,9 @@ do_install_append (){ ln -s kmod ${D}${bindir}/$tool done } + +do_compile_append (){ + if ! grep O_CLOEXEC -r ${includedir_native}/bits/fcntl.h; then + export CFLAGS="$CFLAGS -D O_CLOEXEC=0" + fi +}