[OE-core] [PATCH v2] kmod-native_git.bb: fix builds for hosts with older libc
Matthew McClintock
msm at freescale.com
Tue Aug 21 16:20:17 UTC 2012
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 <msm at freescale.com>
---
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..4558c7b 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_configure_prepend (){
+ if ! grep O_CLOEXEC -r ${includedir_native}/bits/fcntl.h; then
+ export CFLAGS="$CFLAGS -D O_CLOEXEC=0"
+ fi
+}
--
1.7.9.7
More information about the Openembedded-core
mailing list