Martin Orr writes:
It is not Debian or FAM's fault. It is Courier itself which is
requesting static linking here, as maildir/Makefile.am in Courier 0.51.0
contains
maildirkw_LDFLAGS=-static
After removing the above line and running aclocal && automake --foreign
in maildir, I was able to build the package on my Debian etch system.
I don't see why this should be a Debian-specific problem though.
-static is not supposed to result in static linkage against system
libraries. “-static” is supposed to result in static linkage only against
other libraries within the same application, and still link against shared
versions of system libraries.
The -all-static option is the one that statically links everything in.
Sourceforge has a box running Debian 3.0/Alpha. I cannot find libfam on
that box, and /usr/include/fam.h does not exist.
Furthermore, maildirkw should not even _need_ to be linked explicitly
against libfam. maildirkw does not use any functions from libmaildir.la
that use FAM's services.
FAM's function are referenced only from a small set of object modules from
libmaildir.la. None of those functions are used by maildirkw, so those
object modules should NOT be pulled in from libmaildir.la when linking it.
There are at least two Debian-specific oddities here. First, why there's
even a need to link against FAM, when maildirkw does not use, directly or
indirectly, and code that uses FAM. Finally, why libtool ends up linking
against libfam.a, instead of libfam.so.