> Consider an application that is linked with a
> versioned library.
> We'll call it "libresolv.so.1" to make a concrete
> example.  That
> application also pulls in (say) "libldap.so.1".  This
> library, though,
> has been relinked with the new "libresolv.so.2".
> 
> The result is that the application unwittingly ends
> up with both
> libresolv.so.1 and libresolv.so.2 -- two completely
> incompatible
> implementations -- both present in its address space.
>  Calls from some
> laces end up going into one version, calls from
> another into the
> other.  Objects allocated by one are presented to the
> other.
> 
> Dogs and cats living together ... it's mass chaos.
> 
> And that's just the simple case.  Far more
> entertaining cases are
> possible when you consider things such as dlopen, and
> the usual
> implementation of plugins in (say) netscape.
> 
> They shouldn't be "allowed" to explode, but if
> someone has a good way
> to prevent it (and a cure that isn't just worse than
> the disease),
> it'd be good to see some work done on it.
> 
> -- 
> James Carlson, Solaris Networking

Isn't it great that today we have computers with tons and tons of RAM, and 
gigantic amounts of disk space?
Bless whoever invented statically linked libraries. Makes all this shared 
object nonsense, that works great in theory, but often fails in practice, go 
buh-bye. Gotta love static linking.
 
 
This message posted from opensolaris.org
_______________________________________________
opensolaris-discuss mailing list
[email protected]

Reply via email to