[oe] [PATCH 2/2] udev_124.bb: Fix build when DISTRO_FEATURES lacks "largefile".

Graham Gower graham.gower at gmail.com
Mon Nov 22 23:37:37 UTC 2010


NOTE: make -e EXTRAS=extras/firmware/ extras/scsi_id/ extras/volume_id/ STRIP=echo libudevdir=/lib/udev libdir=/lib prefix=
  GENHDR   udev_version.h
  CC       udev_device.o
In file included from /mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/stdlib.h:25:0,
                 from udev_device.c:20:
/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/features.h:216:5: error: #error It appears you have defined _FILE_OFFSET_BITS=64. Unfortunately, uClibc was built without large file support enabled.
In file included from /mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/stdio.h:72:0,
                 from udev_device.c:21:
/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/bits/uClibc_stdio.h:61:2: error: #error Sorry... uClibc was built without large file support!
In file included from udev_device.c:21:0:
/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/stdio.h:83:26: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fpos_t'
In file included from udev_device.c:21:0:
/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/stdio.h:719:12: error: expected declaration specifiers or '...' before 'fpos_t'
/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/stdio.h:721:12: error: expected ';', ',' or ')' before '*' token
udev_device.c: In function 'udev_device_event':
udev_device.c:272:4: warning: cast increases required alignment of target type
udev_device.c:272:4: warning: cast increases required alignment of target type
make: *** [udev_device.o] Error 1
FATAL: oe_runmake failed

Signed-off-by: Graham Gower <graham.gower at gmail.com>
---
 recipes/udev/udev_124.bb |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/recipes/udev/udev_124.bb b/recipes/udev/udev_124.bb
index d0d5420..a6c0e18 100644
--- a/recipes/udev/udev_124.bb
+++ b/recipes/udev/udev_124.bb
@@ -29,6 +29,10 @@ FILES_${PN}-dbg += "${base_libdir}/udev/.debug"
 UDEV_EXTRAS = "extras/firmware/ extras/scsi_id/ extras/volume_id/"
 EXTRA_OEMAKE += "libudevdir=/lib/udev libdir=${base_libdir} prefix="
 
+do_configure_prepend_libc-uclibc() {
+	eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "s/-D_FILE_OFFSET_BITS=64//" ${S}/Makefile', d)}"
+}
+
 do_install () {
 	install -d ${D}${usrsbindir} \
 		   ${D}${sbindir}
-- 
1.7.1





More information about the Openembedded-devel mailing list