On Nov 18, 2007 3:28 PM, P Kishor <[EMAIL PROTECTED]> wrote: > Following those pretty much to the t, I almost got everything working. > Except, I got the following during make > > ../sqlite-3.5.2/ext/fts1/fts1.c:7:2: error: #error fts1 has a design > flaw and has been deprecated. > make: *** [fts1.lo] Error 1 > > Fantastic. If it is has a design flaw and has been deprecated, then > why include it?
In case someone is using it and really needs to keep using it and has reason to believe that the design flaw doesn't impact them. > Or, if it is included, where is the information that > it has been deprecated that one can read *before* doing make? That information is available on the mailing list - or wasn't that what you meant? :-). There isn't an obvious place to put such information, and fts1 and 2 (and 3) are in any case considered outside the sqlite core. It takes less than a minute to hit the error, so it's not like you lost three days tracking down some obscure design flaw yourself... > Anyway, I went back into Makefile.in and commented out all references > to fts1 and ran make again. This time I got > > ../sqlite-3.5.2/ext/fts2/fts2.c:7:2: error: #error fts2 has a design > flaw and has been deprecated. > make: *** [fts2.lo] Error 1 > > So, I went back into the ext library and discovered that there was > fts3. Note that the comment just before the SQLITE_ENABLE_BROKEN_FTS1 snippet explicitely states that you should be using fts3 or higher. > So, I went back into Makefile.in and commented out all > references to fts2, added similar looking lines for fts3 and ran make > again. This time it all worked. Great! > > Well, not so great. Now when I run the new sqlite3, I get the following > > dyld: lazy symbol binding failed: Symbol not found: _sqlite3Fts1Init > Referenced from: > /Users/punkish/Projects/sqlite-3.5.2-build/.libs/libsqlite3.0.dylib > Expected in: flat namespace > > dyld: Symbol not found: _sqlite3Fts1Init > Referenced from: > /Users/punkish/Projects/sqlite-3.5.2-build/.libs/libsqlite3.0.dylib > Expected in: flat namespace > > Trace/BPT trap The lines I have in main.mk for fts3 stuff look like: # Near the top after "Object files for the SQLite library". LIBOBJ += fts3.o \ fts3_hash.o \ fts3_icu.o \ fts3_porter.o \ fts3_tokenizer.o \ fts3_tokenizer1.o # After TESTSRC definition. TESTSRC += $(TOP)/ext/fts3/fts3_tokenizer.c # After current "Rules to build the extension objects." section fts3.o: $(TOP)/ext/fts3/fts3.c $(HDR) $(EXTHDR) $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3.c fts3_hash.o: $(TOP)/ext/fts3/fts3_hash.c $(HDR) $(EXTHDR) $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_hash.c fts3_icu.o: $(TOP)/ext/fts3/fts3_icu.c $(HDR) $(EXTHDR) $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_icu.c fts3_porter.o: $(TOP)/ext/fts3/fts3_porter.c $(HDR) $(EXTHDR) $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_porter.c fts3_tokenizer.o: $(TOP)/ext/fts3/fts3_tokenizer.c $(HDR) $(EXTHDR) $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_tokenizer.c fts3_tokenizer1.o: $(TOP)/ext/fts3/fts3_tokenizer1.c $(HDR) $(EXTHDR) $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_tokenizer1.c ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------