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