From 0e224d2c7eeba2d0df846d1627337a61f0283668 Mon Sep 17 00:00:00 2001 From: Graham Gower Date: Tue, 30 Nov 2010 11:40:59 +1030 Subject: [PATCH] sqlite3.inc: Fix build when DISTRO_FEATURES lacks "largefile". 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 Acked-by: Khem Raj --- recipes/sqlite/sqlite3.inc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipes/sqlite/sqlite3.inc b/recipes/sqlite/sqlite3.inc index 18cdf7186f..1d828fb0d7 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}" -- 2.39.5