On Sunday 22 April 2007 18:01, Joe Wilson wrote: > > I've used SQLite-3.3.4 for quite a while, mostly the Tcl binding. > > A few days ago I installed 3.3.15 and the Tcl binding worked fine. > > Tonight I downloaded 3.3.16 and compiled it without any errors > > or warnings and then installed it. When I tried to execute sqlite3 > > the following error appered: > > > > sqlite3: symbol lookup error: sqlite3: undefined symbol: sqlite3_io_trace > > > > I switched back to 3.3.15 with the same result. A switch back to > > 3.3.4 behaved normal. > > > > What's wrong with 3.3.15 and 3.3.16? > > Okay, I get it now. You seem to be using a 3.3.15 sqlite3 binary requiring > the shared library sqlite3.so. This 3.3.15 sqlite3 binary's shell.c makes > reference to sqlite3_io_trace in the 3.3.15 sqlite3.so's main.c. > You cannot use an older 3.3.4 sqlite3.so against the 3.3.15 sqlite3 binary > because the older shared library lacks sqlite3_io_trace. > > In general, sqlite3.so is backwards compatible, but not necessarily > forward compatible. So you can upgrade an older binary to use a more > recent 3.x sqlite3.so release, but not the other way around. > More or less, yes. I had 3.3.4 and wanted to upgrade to 3.3.16. The sqlite3 binary then came up with that "sqlite3_io_trace" error. After I applied your patch it ran fine, but then I noticed the 3.3.4 version info on startup. After all, it was just a ldconfig issue, now everything works as it should.
Thanks again for your help. Ulrich ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------