Date: Tue, 5 Jan 1999 22:08:43 -0800 (PST)
From: Martin Buchholz <martin(a)xemacs.org>
Only for external packages, which are not standard system libraries
installed in standard directories like /usr/lib which the linker
already knows about.
The problem with this in the arena of dynamic loading, the idea of a
standard library is pretty much a myth even on commercial systems like
SunOS/Solaris and especially on systems like Linux where virtually
every system is different.
Despite all of the efforts to have people find the very oldest
versions of libraries when building Sun executables for distribution
(a sign of how evil dynamic loading is in general!), every dynamicly
linked executable that I've ever seen produced at least warnings on
some machines.
Part of the problem is that some boxes go *way* too long between
upgrades, but most of the problem is that shipping a dynamically
linked executable means shipping a hope and a prayer -- you really
don't know what's ultimately being run unless you have access to
*every* machine on which the program will run.
If you're distributing an executable over the net, it should be
statically linked, period. Disk and memory are cheap, throwing out
program integrity to save disk and memory makes no sense.
I think it's great to have the ability to dynamically load additional
libraries once things are up and running, but it's truly wrong to
dynamically link a library that has to be loaded on each execution.
Rick