Am 19.06.2015 um 21:02 schrieb Dan Kennedy: > On 06/19/2015 04:48 PM, Thomas Mager wrote: >> Hi, >> >> I have to develop an application under uclinux which should use a >> SQLite database. Since it is running finally on an embedded system it >> should not use much memory. So, I wanted to build SQLite with my >> cross compiler and omit some options to reduce the library size and >> get a very small footprint. My problem is that when I run configure >> and put some -DSQLITE_OMIT_xxx entries to CFLAGS I get an error when >> I want to build the SQLite library. See the following what I >> configure and what I get as result when linking. The switch >> -DSQLITE_OMIT_TRIGGER produces the error in this case, all other >> -DSQLITE_OMIT_xxx switches you see in the configure command below are >> running fine. >> >> This is my configure command: >> >> CC="/home/lantronix/linuxsdk/toolchains/freescale-coldfire-4.4/bin/m68k-uclinux-gcc" >> >> CFLAGS="-Os -fpic -Wall -DSQLITE_OMIT_LOAD_EXTENSION >> -DSQLITE_OMIT_WAL -DSQLITE_OMIT_AUTHORIZATION >> -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_TEMPDB >> -DSQLITE_OMIT_UTF16 -DSQLITE_OMIT_XFER_OPT-DSQLITE_OMIT_TRIGGER" >> ./configure --host=m68k-uclinux --disable-threadsafe --disable-shared >> --disable-libtool-lock >> >> Here is the output when building the library: >> >> /bin/bash ./libtool --tag=CC --mode=link >> /home/lantronix/linuxsdk/toolchains/freescale-coldfire-4.4/bin/m68k-uclinux-gcc >> >> -DSQLITE_THREADSAFE=0 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -Os >> -fpic -Wall -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_OMIT_WAL >> -DSQLITE_OMIT_AUTHORIZATION -DSQLITE_OMIT_PROGRESS_CALLBACK >> -DSQLITE_OMIT_TEMPDB -DSQLITE_OMIT_UTF16 -DSQLITE_OMIT_XFER_OPT >> -DSQLITE_OMIT_TRIGGER -o sqlite3 shell.o sqlite3.o >> libtool: link: >> /home/lantronix/linuxsdk/toolchains/freescale-coldfire-4.4/bin/m68k-uclinux-gcc >> >> -DSQLITE_THREADSAFE=0 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -Os >> -fpic -Wall -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_OMIT_WAL >> -DSQLITE_OMIT_AUTHORIZATION -DSQLITE_OMIT_PROGRESS_CALLBACK >> -DSQLITE_OMIT_TEMPDB -DSQLITE_OMIT_UTF16 -DSQLITE_OMIT_XFER_OPT >> -DSQLITE_OMIT_TRIGGER -o sqlite3 shell.o sqlite3.o >> sqlite3.o: In function `dotlockLock': >> sqlite3.c:(.text+0x378ae): warning: the use of LEGACY `utimes' is >> discouraged, use `utime' >> sqlite3.o: In function `yy_destructor': >> sqlite3.c:(.text+0x35afa): undefined reference to >> `sqlite3DeleteTriggerStep' >> sqlite3.o: In function `sqlite3Parser': >> sqlite3.c:(.text+0x48ce0): undefined reference to `sqlite3FinishTrigger' >> sqlite3.c:(.text+0x48d2c): undefined reference to `sqlite3BeginTrigger' >> sqlite3.c:(.text+0x48e62): undefined reference to >> `sqlite3TriggerUpdateStep' >> sqlite3.c:(.text+0x48e8e): undefined reference to >> `sqlite3TriggerInsertStep' >> sqlite3.c:(.text+0x48eb2): undefined reference to >> `sqlite3TriggerDeleteStep' >> sqlite3.c:(.text+0x48ed2): undefined reference to >> `sqlite3TriggerSelectStep' >> sqlite3.c:(.text+0x48f84): undefined reference to `sqlite3DropTrigger' >> collect2: ld returned 1 exit status >> make: *** [sqlite3] Error 1 >> >> >> It would be nice if you have some hints for me? > > In order to use some of the SQLITE_OMIT_* options, including > SQLITE_OMIT_TRIGGER, you need to build SQLite from the canonical > source files, not the amalgamation package. The first zip file under > "Alternative Source Code Formats" here: > > http://www.sqlite.org/download.html > > Dan. > > > _______________________________________________ > sqlite-users mailing list > sqlite-users at mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Hi Dan, cool - that was the solution. Thank you very much for your fast and helpful response! Best regards, Tom