Re: Windows and DLLs



On Thu, Oct 01, 1998 at 11:10:18AM -0400, Christopher Curtis wrote:
> THe Windows problem is self inflicted by releasing different versions of
> the same library without changing the name.  *nix has already circumvented
> this problem by properly using library naming conventions.  It can
> basically be represented as:
> 
> lib<library>.[a|so].<major>.<minor>.<micro>

This does not solve the problem. What happens when:

1) a user wants to use an app which only works with a newer
lib. (i.e. he can't install it easily unless he's administrator, or a
unix wizard)

2) a newer micro version of a lib fixes a bug which caused problems
with some app, but the fix causes problems with another app.

> This is a pretty well known system for unices, and has been very
> successful.  The problems with it now are that some developers are not
> following these guidelines, or that installations are not properly
> creating correct links, or that programs are not being compiled with the
> right 'hints'.  For example, /lib should look like:

This is only going to get worse as the number of apps and developers
gets larger. That is my point. In other words:

The only reason UNIX dosn't currently suffer the same kind of lib hell
as windows is that there arn't very many apps/libs available. It's not
because the UNIX system is that much better.

> One of the problems people have now is with GTK+ and the GIMP.  The
> problem here is that the GTK people aren't really following the rules. 
> GTK+ version 1.1 should be backwards compatible with GTK+ 1.0 (same major
> version number), but have significant performance increases or new
> widgets.  

This is exactly why I think the UNIX lib system is just as broken as
the windows lib system. I think that _what works_ should define
compatibility, not what is 'supposed to work'. If someone puts out
GTK-1.1, I don't care what they decided to name the lib, I want
programs to be bound to that lib which are known to work with that
lib. If a program is known to have a problem with 1.1, then it should
keep binding to 1.0. This information should _not_ be hard-coded into
the install location of the lib and some archaic static system for
binding together apps and libs.

-- 
David Jeske (N9LCA) + http://www.chat.net/~jeske/ + jeske@chat.net



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]