Shared vs Static (please read)

Alan Cox alan at redhat.com
Fri Dec 16 00:25:08 UTC 2005


On Thu, Dec 15, 2005 at 11:48:26PM +0000, Peter Jr. Quiring wrote:
> I tried to move a binary built on FC5 to a FC4 system and of course it 
> didn't work (openssl version mismatch).  So by removing static libs Fedora 
> will be hurting the little guys (like me).   I also know that some 

openssl is a problem area certainly.

> functions (like dlopen()) currently do not work in static mode, but some of 
> my apps don't need this functionality.  I've written my own DNS client, so 
> the gethostaddr() etc functions I don't need.  Does anyone know if it would 
> be possible to use most libraries as static and maybe just use the shared 
> version of dl, or glibc?

To be honest Fedora is aimed at being cutting edge rather than being the
proprietary high stability oriented platform. What you say is I think quite
fair in terms of C++. For C the LSB has it mostly licked, for C++ the changing
C++ ABI has been problematic.

Usually btw the way to get good compatibility is to build on old. Old to new
is generally very good (you might need to also ship copies of 'legacy'
library versions for things like openssl) but glibc and the like work well
and handle versioning. New to old is always trickier.

Alan




More information about the devel mailing list