Am 25.05.2012 14:27, schrieb Pavel Ivanov:
>> With regard to the second issue, several experienced people, including
>> Richard Hipp, have expressed the opinion in more than one occasion
>> that statically linking sqlite avoids some problems that can happen
>> otherwise.
> 
> OTOH, all people involved in supporting Linux distributions advocate
> against static inclusion and for use of dynamic libraries all the time
> so that if some bug or security vulnerability is fixed in SQLite it
> could be easily updated for everybody by upgrading only one package. I
> don't know though what they suggest to do if you need to use version
> of SQLite newer than distribution is currently providing.
> 
Well, it reduces the work for the Linux maintainers and some app
developers are notoriously slow to fix security bugs upstream.

Guess it really depends on the target audience.

For some library or other smaller app that is to be distributed with
some popular Linux distro or to another environment where someone else
is responsible for keeping the environment sane, it might make sense to
do dynamic linking to a system library. If the other person that manages
the environment fails, your app fails. If the other person does not
update the libs you are stuck and can only file bugs and wait.

But if you ship a major system, you really really want to keep your
environment under control. More work, but saves you from insane bugs due
to broken system libs and weird hacks around various system lib issues.
If some lib is broken, just patch it and ship a fixed version.

We typically run 'ldd' on all our libs and programs and match the
external dependencies to an allowed list. Anything not in that list
(which is usually tiny, stuff like libc) found in any library is
considered a bug in our product and gets patched (usually by either
disabling unnecessary dependencies at compile time or by shipping the
really needed dependencies in a working version).

So, if you can point to someone else (e.g. Linux distro maintainer) to
fix issues with broken libs for you, fine. But if you must fix them
yourself due to support contracts, you do not want to be forced to
depend on those.

Michael

-- 
Michael Schlenker
Software Architect

CONTACT Software GmbH           Tel.:   +49 (421) 20153-80
Wiener Straße 1-3               Fax:    +49 (421) 20153-41
28359 Bremen
http://www.contact.de/          E-Mail: m...@contact.de

Sitz der Gesellschaft: Bremen
Geschäftsführer: Karl Heinz Zachries, Ralf Holtgrefe
Eingetragen im Handelsregister des Amtsgerichts Bremen unter HRB 13215
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to