On Sun, 04 Feb 2007 21:24:22 +0000, John D Lamb wrote:

>On Sun, 2007-02-04 at 11:09 -0500, Rami Michael wrote:

>Or bomb out right at the start, which is when shared libraries are
>usually loaded.

It just won't start. The dynamic linker reads special fields in the
ELF headers of a binary and tries to load the libraries recorded
there. If any of these is missing, the application won't be started.

>For many applications you can use a --disable-shared
>flag in a configure file so that the library becomes part of the binary
>you build. 

Many libraries nowadays only come in dynamic versions and static
libraries are getting scarcer.

>This will increase file size, sometimes dramatically, but
>will often make the application start faster and will make it much more
>likely to work when copied to another system.

And will make maintenance a nightmare! If, for instance, a security
bug is discovered in a library, *every* app that linked in the library
statically has to be rebuilt. Contrast this with simply replacing one
dynamic library.

>As an example, I've compiled gcc itself on one system and then 
>copied the binaries to another. It works.

Yes, but it usually doesn't buy you much.

Philipp
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to