On Jul 30, 2018, at 2:26 PM, Peter Da Silva <peter.dasi...@flightaware.com> 
wrote:
> 
> It worked fine on FreeBSD but on Linux (Ubuntu 4.13.0-27 generic) it crashed. 
> We traced that down to it having two copies of libsqlite linked in

There can be a bunch of reasons for that crash, basically due to differing ways 
they’re built, so that the two implementations end up conflicting.  I’ve had 
such trouble in the past over two separately-sourced SQLites fighting over 
locking, and I could see it happening in other areas like shared memory.

> Forcing it to make libsqlite3.24.0.so just the Tcl glue to 
> libsqlite3.so.0.8.6 with ./configure --with-system-sqlite did the trick, but 
> I’m just wondering why that wouldn’t be the normal way to do things.

You may be building on a system where they’ve still got SQLite 3.7.mumble 
installed, which is still a large number of systems, due to the long lifetime 
of the 3.7 line.

You may have noticed the continual pressure on this mailing list to be using 
recent versions of SQLite.  One way to ensure that is to always statically link.

Living by that sword can see you cut on that same sword, of course, since then 
you may end up having to rebuild half of your world when you want to upgrade 
SQLite.  Ask the Go people how statically linking everything works out in 
practice. :)

_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to