httpd, htpasswd, htdigest, and the other main applications need
to be built with static libraries.  In other words, they must
not be linked against libapr.so and friends.

Why?  Because otherwise we make life difficult for users, and
make violation of the Principle of Least Astonishment a virtual
certainty.

Assume we provide binaries that are linked against dynamic libraries,
and then consider someone who has an Apache installation (whether
built from source or installed from RPM or other package is
immaterial) who copies the existing tree to another directory tree
for testing or whatever reason.  Everything in the second tree will
work fine -- until something changes in the original tree, such as it
being deleted or upgraded.  Since the original library locations
are hard-coded in the binaries that were copied, they no longer
work -- perhaps spectacularly.  Similarly, it is unacceptable
for someone to copy htpasswd (for instance) from one system to
another and have it hork because of differing versions or locations
of the libraries.

If we didn't include the libraries in our package, but specified
them as prerequisites instead, this wouldn't be a problem --
everything that used the libraries would probably access them
from some standard system location.  But since we're so
tightly tied to them and force the httpd-and-other apps to
be built against the versions included, we need to make sure
those builds include the libraries statically.
-- 
#ken    P-)}

Ken Coar, Sanagendamgagwedweinini  http://Golux.Com/coar/
Author, developer, opinionist      http://Apache-Server.Com/

"Millenium hand and shrimp!"

Reply via email to