Static linking considered harmful

Axel Thimm Axel.Thimm at ATrpms.net
Fri Nov 24 19:30:08 UTC 2006


On Fri, Nov 24, 2006 at 08:22:49PM +0100, Hans de Goede wrote:
> Axel Thimm wrote:
> > On Wed, Nov 22, 2006 at 12:14:25PM -0800, Ulrich Drepper wrote:
> >> As for the "works everywhere" argument:
> >>
> >> - Jakub and others already pointed out that this is mostly a myth.
> >>   Every non-trivial program needs services which require dynamic
> >>   linking.  glibc's dependencies (iconv, nss, idn, ...) are prominent.
> >>   But there are an increasing number of other projects which need it.
> >>   Just look for all the DSOs linked against (explicitly or implicitly)
> >>   libdl.  This includes basically all GUI stuff, all security apps.
> >>   Heck, even ncurses falls in this category.  All of these are out
> >>   when it comes to static linking.
> > 
> > Sorry, that's reality, not a myth. I'm a physicist myself and have
> > worked in/collaborated with several academic or research locations,
> > and the picture is the same everywhere: People prefer to create
> > statically linked applications to distribute and share with
> > colleages. That's true for physicists, chemists, weather science
> > stations - most probably all of natural sciences, but perhaps cs.
> > 
> > If you take them the ability to statically link away, then Fedora (and
> > then RHEL6) will stop being an attractive development platform for
> > them anymore. Do we want that to happen? I don't think so, even though
> > the scientific community isn't the largest group certainly.
> > 
> > And please note that the target group we're talking about are simple
> > users (even though they may be very skillful programmers), not some
> > package monkeys that will create rpms and debs for all systems
> > required or that even care about DSO, tarballing their runtime
> > enviroment and scripting launchers and so on (just quoting some
> > solutions offered in this thread).
> > 
> > On the other hand their applications are usually quite non-trivial w/o
> > involving iconv or nss or dlopening plugins (everyone defines
> > non-trivial differently of course). Most numerical codes nowadays are
> > also a mix of C, Fortran and C++, which makes portability w/o
> > statically linking an even greater nightmare.
> > 
> > My 0.02 contribution is to identify the wrongly statically linked bits
> > (as done by David), fix these, and let the rest as is, e.g. all
> > packages are themselves using DSO, but some prominent ones like the
> > glibc/libstdc++ and firends are offering statically linked libraries
> > *for users*.
> > 
> 
> 
> +1, although it would be a good idea to put the static libs in a
> seperate sub package. ( /me has no need for such a beast)

Have you seen Dmitry Butskoy's post on this? He has created debuginfo
macros that automatically cater for that (packages are then named
foo-static, but that's tunable) w/o any changes in existing
specfiles.
-- 
Axel.Thimm at ATrpms.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-devel-list/attachments/20061124/cc702cae/attachment.sig>


More information about the fedora-devel-list mailing list