[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