== Packaging Static Libraries ==
“Packages including libraries SHOULD exclude static libs as far as
possible (eg by configuring with --disable-static). Applications
linking against libraries SHOULD link against shared libraries not
* I would like to suggest this advice be reconsidered *
The second guideline seems fine; a packaged application (executable)
SHOULD link against the shared/dynamic version of a system library.
But this second guideline does not need the first; and I can see
little reason for the first.
Since static libraries should end up in their own seperate *-static
packages, I see very little advantage in excluding them.
Linkers have always (since the dawn of dynamic linking) preferred
shared/dynamic libraries over static versions. The mere presence of a
libfoo.a file along side a libfoo.so file will have no effect on
* Compelling reason for static libraries *
The ability for a developer using a Fedora system to create static
executables, or to link one or more libraries statically in an
otherwise dynamic executable, is a very useful capability.
There are many advantages to static executables.
Maybe this is all TL;DR so see: