Nicolas Williams <[EMAIL PROTECTED]> wrote:
> On Wed, Jan 09, 2008 at 09:03:51PM +0000, [EMAIL PROTECTED] wrote:
> >                                     In fact, the only company 
> > I know of that makes use of shared libraries for SQLite is Apple.
> 
> Solaris will be shipping SQLite 3.x as a shared library.
> 
> > They can get away with this because they control the operating
> > system.  But notice that 3rd-party products that run on a Mac 
> > still generally statically link against their own SQLite rather
> > than use whatever shared library that Apple supplies.
> 
> The same applies to Solaris.  3rd party products will be free to use the
> version shipped with the OS, but depending what stability we decide to
> accord to SQLite 3.x, we may either not update it across incompatible
> changes (and/or ship multiple versions), or we may update it across
> incompatible changes at any time.

In theory, all updates to SQLite3 should be backwards compatible.
Though, of course, there have been cases where updates have broken
older code that depended upon bugs that were subsequently fixed. :-)

The vendors that I work with who are concerned about stability
(which is to say "all" vendors that I work with) always statically
link against SQLite.  So they don't care if you have a shared 
library available or not - they aren't going to use it.  

> 
> As for DLL hell...  My impression is that multiple instances of SQLite
> 3.x can exist in the same process provided that: a) no two instances
> share the same database files, b) they are linked/loaded in such a way
> as to avoid symbol conflicts (this can be done with group+local
> linker/rtld options).  This sort of situation is likely to arise in
> pluggable frameworks (e.g., PAM).
> 
> > I think you are better of picking a version of SQLite that
> > you like, making it a part of your source tree, and going
> > with that.  It is simple enough to upgrade - just drop in a
> > new file.  Trying to "install" SQLite or making dependencies
> > on SQLite just complicates matters unnecessarily.
> 
> Would you recommend that we not make SQLite 3.x in Solaris available to
> third parties?
> 

I think having a libsqlite3.so available is great.  There will likely
be smaller apps that want to compile with -lsqlite3.  I think it is
nice to accommodate them.  Presumably, Solaris will be using sqlite3
internally (in place of sqlite2?) so it does not cost you anything
to make it available to third parties.

On the other hand, I recommend to anybody building an application
that you should statically link against SQLite.

Regardless of whether or not you make libsqlite3.so available,
you definitely should make the sqlite3 CLI available.  That is
a very handy thing to have when using a shell.

--
D. Richard Hipp <[EMAIL PROTECTED]>


-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to