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

Reply via email to