[oe] [PATCH] gnome-vfs_2.24.1.bb: Fix build when DISTRO_FEATURES lacks "largefile".

Graham Gower graham.gower at gmail.com
Tue Nov 30 01:10:30 UTC 2010


mipsel-oe-linux-uclibc-libtool: compile:  mipsel-oe-linux-uclibc-gcc -march=mips32 -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -pthread -DORBIT2=1 -I/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/glib-2.0 -I/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/lib/glib-2.0/include -I/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/gconf/2 -I/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/orbit-2.0 -I/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/dbus-1.0 -I/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/lib/dbus-1.0/include -I/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/libxml2 -I/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include -D_REENTRANT -I/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include -I/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/glib-2.0 -I/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/lib/glib-2.0/include -I/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/glib-2.0 -I/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/lib/glib-2.0/include -DXDG_PREFIX
=_gnome_vfs_xdg -DDBUS_API_SUBJECT_TO_CHANGE -D_FILE_OFFSET_BITS=64 -D_BSD_SOURCE -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -DG_DISABLE_DEPRECATED -DGNOME_VFS_PREFIX=\"\" -DGNOME_VFS_BINDIR=\"/bin\" -DGNOME_VFS_DATADIR=\"/share\" -DGNOME_VFS_LIBDIR=\"/lib\" -DGNOME_VFS_LOCALEDIR=\"/share/locale\" -DGNOME_VFS_SYSCONFDIR=\"/etc\" -DG_LOG_DOMAIN=\"libgnomevfs\" -isystem/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include -isystem/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -MT gnome-vfs-ace.lo -MD -MP -MF .deps/gnome-vfs-ace.Tpo -c gnome-vfs-ace.c  -fPIC -DPIC -o .libs/gnome-vfs-ace.o
In file included from /mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/limits.h:27:0,
                 from /mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/lib/glib-2.0/include/glibconfig.h:11,
                 from /mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/glib-2.0/glib/gtypes.h:34,
                 from /mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/glib-2.0/glib/galloca.h:34,
                 from /mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/glib-2.0/glib.h:32,
                 from gnome-vfs-ace.h:28,
                 from gnome-vfs-ace.c:26:
/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.

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

diff --git a/recipes/gnome/gnome-vfs_2.24.1.bb b/recipes/gnome/gnome-vfs_2.24.1.bb
index e47f28d..268a219 100644
--- a/recipes/gnome/gnome-vfs_2.24.1.bb
+++ b/recipes/gnome/gnome-vfs_2.24.1.bb
@@ -22,8 +22,19 @@ EXTRA_OECONF = " \
                  --with-samba-includes=${STAGING_INCDIR} \
                "
 
+do_nolargefile() {
+	for file in ${S}/modules/Makefile.am \
+			${S}/daemon/Makefile.am \
+			${S}/libgnomevfs/Makefile.am; do
+		sed -i -e '/_FILE_OFFSET_BITS/d' $file
+		sed -i -e '/_LARGEFILE64_SOURCE/d' $file
+	done
+	sed -i -e '/_LARGEFILE64_SOURCE/,/#endif/d' ${S}/libgnomevfs/gnome-vfs-module-shared.h
+}
+
 do_configure_prepend() {
         sed -i -e 's:	doc	::g' Makefile.am
+	${@base_contains('DISTRO_FEATURES', 'largefile', '', 'do_nolargefile', d)}
 }
 
 PACKAGES_DYNAMIC = "gnome-vfs-plugin-*"
-- 
1.7.1





More information about the Openembedded-devel mailing list