Auteur: Michael Haardt Date: À: exim-dev Sujet: Re: [exim-dev] PCRE inclusions in Exim
> > > (1) Insist on a system library being installed. > >
> > Go for it, IMHO. As Nigel said, I'd rather have 1 copy of a library ...
>
> Just to put in the counter example. I had an exim built against a system
> berkeley DB library once. After one upgrade exim could no longer read
> its DB files because the library had changed enough to cause a
> problem. Much mail was rejected because of it.
I am aware of that discussion since SunOS 4, and it probably existed
before. It's not one question, but two: Included or system-wide
installation? Static or shared library?
If done right, a system-wide shared library is great. From personal
experience, Sun let me have that joy: Whenever the API changed, they
increased the major release and everything kept working. Almost any
open source project screwed it up at least once, and some for every
other release. Some even break the API from release to release so that
even recompiling does not help.
I don't have PCRE installed on any system I run, probably because POSIX
regular expressions always sufficed for me. But I think Nigel is right.
Included libraries usually make the installation much easier, but that's
no excuse not to do things right, and dependencies do not have to be as
bad as they usually are.
If you are afraid of a PCRE upgrade screwing your system, link Exim
against its static system-wide version. That's what I do with Berkeley DB
and OpenLDAP for good reasons. I don't see why Exim should include its
own copy, if it does not contain patches specific to using it with Exim.
Even with a static library, I just have to link software against it,
instead of having to update package sources in case of emergency upgrades.
I do have one wish, though: Please include a file called DEPENDENCIES or
something like that, with a description of all libraries: their name,
required or optional, a version known to work, a suggestion for static
or shared linkage, one or two sentences what they do and the URL of
their home page. It may set new standards for open source projects,
in particular if that information is kept up to date. :-/