[Techtalk] Re: Debugging/ Troubleshooting book

Dennis Wheeler dennis.wheeler at pictureiq.com
Thu Aug 1 13:33:45 EST 2002

> > botches. The most famous example is .dll hell. For those unfamiliar with
> > Windows shared libraries, differing versions have the same name: foo.dll can
> > actually have a hundred different incarnations, and often does. Applications
> !? Seriously? Knowing nothing about Windows, I never realised that.
> > install these at will and overwrite the existing ones, which often breaks
> > other apps.
> > Not like the sane Unix world, where different versions of a shared library
> > are named differently: foo.so.1.1, foo.so.1.2, etc. In the sane Unix world,
> > apps are not allowed to modify system files, as they do in Windows.
> I understand now, and I see exactly what you mean. From the reaction
> in the Linux and UNIX world when someone releases an app with the same
> version number, let alone a revision of a library which doesn't do
> what you said, it never occurred to me that there was any way other
> than this so.1, so.2 and so on thing.

I have to disagree here, in that I think the UNIX world can and does
have the same type of shared resource problems as the Windows world.

Because even though the different versions of a shared library are named
differently, there's almost always a genericly named symlink pointing to
the last version installed.

  libfoo.so  -->  libfoo.so.1.2

Many, if not most, apps are compiled such that when they make their load
library calls, they are usually looking only for the genericly name
library. So while the older libraries aren't deleted, they are in effect
still overwritten.

-- dennis

More information about the Techtalk mailing list