what about what actually happens in practice? 10 programs needing 10 different versions of the same shared lib; or when you want to install some binary app that needs libxxx.1.1.4b.so, but you have libxx.1.3.4a.so. Even when you try to keep things clean you end up in a mess.
As a working example of this, At my day job I just spent the last while configuring and building a statically linked apache+php binary for the production web servers. Why? The combination of expat+libxml+xmlrpc+libxslt versions required by php and apache combined with the shared library dependency hell that is Linux resulted in a dependency graph that *could* *not* be solved by any combination of multiple versions of all these libraries without causing something to stop functioning.
I fought the same battle six years ago while trying to get an IMAP server running (Linux again). Same solution then, too.
Shared libraries just aren't worth it. --lyndon
