[oe] [PATCH] sqlite3.inc: Fix build when DISTRO_FEATURES lacks "largefile".

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


The --disable-largefile configure parameter does nothing.

/bin/sh ./mipsel-oe-linux-uclibc-libtool --mode=compile --tag=CC mipsel-oe-linux-uclibc-gcc -march=mips32  -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 -DSQLITE_OS_UNIX=1 -I. -I./src -D_HAVE_SQLITE_CONFIG_H -DNDEBUG   -DSQLITE_THREADSAFE=1 -DSQLITE_THREAD_OVERRIDE_LOCK=-1 -DSQLITE_OMIT_LOAD_EXTENSION=1   -DSQLITE_TEMP_STORE=1 -c sqlite3.c
mipsel-oe-linux-uclibc-libtool: compile:  mipsel-oe-linux-uclibc-gcc -march=mips32 -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 -DSQLITE_OS_UNIX=1 -I. -I./src -D_HAVE_SQLITE_CONFIG_H -DNDEBUG -DSQLITE_THREADSAFE=1 -DSQLITE_THREAD_OVERRIDE_LOCK=-1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_TEMP_STORE=1 -c sqlite3.c  -fPIC -DPIC -o .libs/sqlite3.o
In file included from /mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/stdint.h:26:0,
                 from sqlite3.c:304:
/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 sqlite3.c:6522:
/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 sqlite3.c:6522: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 sqlite3.c:6522: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
make: *** [sqlite3.lo] Error 1

Signed-off-by: Graham Gower <graham.gower at gmail.com>
---
 recipes/sqlite/sqlite3.inc |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/recipes/sqlite/sqlite3.inc b/recipes/sqlite/sqlite3.inc
index 18cdf71..1d828fb 100644
--- a/recipes/sqlite/sqlite3.inc
+++ b/recipes/sqlite/sqlite3.inc
@@ -15,8 +15,11 @@ inherit autotools pkgconfig
 
 BBCLASSEXTEND = "native"
 
+nolargefile = "${@base_contains('DISTRO_FEATURES', 'largefile', '', '-DSQLITE_DISABLE_LFS', d)}"
 EXTRA_OECONF = "--disable-tcl --enable-shared \
-		--enable-threadsafe"
+		--enable-threadsafe \
+		CFLAGS='${CFLAGS} ${nolargefile}' \
+		"
 export config_BUILD_CC = "${BUILD_CC}"
 export config_BUILD_CFLAGS = "${BUILD_CFLAGS}"
 export config_BUILD_LIBS = "${BUILD_LDFLAGS}"
-- 
1.7.1





More information about the Openembedded-devel mailing list