robert at linuxfromscratch.org
Sun Jan 23 08:24:21 PST 2005
Well. I checked this out a lot. With a patch to module-init-utils we could get
rid of all the static libraries, except for Perl's. Perl runs a good 15%
slower if its using libperl.so instead of libperl.a; Perl can't be completely
dynamic because the Perl native dynamic loader is a static lib. Uhm, its
sorta complicated to explain. DynaLoader.a can't be an .so, its bad karma.
And since DynaLoader.a can't be dynamic, I figure why loose 15% performance
with libperl.so. But, both of these libs are internal to Perl, libc.a doesn't
need to exist for them, or any other static lib.
module-init-utils' insmod.static is a legacy item. No one can tell me why it
needs to be statically linked. A simple hack can make it dynamic, so it links
to zlib.so. And so zlib.a can be removed too.
Oh, and GCC needs a couple static libs too, to be able to compile stuff.
Namely libgcc_eh.a and I think libgcc.a too. I'm not sure why, but things
don't compile without them.
The whole point of this is so potentially vulnerable libs, like zlib, or
openssl, never get statically linked into programs. So if/when we need to
upgrade these in the future we can rest knowing nothing there's only 1
So, unless anyone objects, I want to start making changes to do this. Many
packages don't support --disable-static, so the static libs would be removed
from /usr/lib after make install. Its not pretty but its the only way that
More information about the hlfs-dev