[CS-FSLUG] The Advantages of Dependency Hell

Leon Brooks xtiansrc at leon.brooks.fdns.net
Mon Feb 21 21:42:54 CST 2005


On Tuesday 22 February 2005 09:33, Don Parris wrote:
> Why is there no dependency hell in Windows?

There is. Each Windows installer to date has had its own way of doing 
things, it's own way of keeping track of what it needs and what's 
installed. Programs typically install their own libraries, which is 
kind of like static linking under Unix but not as neat.

The classic "DLL hell" problem from Win9X days, somewhat but not 
completely alleviated by MS Windows 2000 and successors, is that one 
installer will write a file into C:\WINDOWS\SYSTEM\ which is a slightly 
enhanced version of a system library (say VBRUN600.DLL) which it 
requires. Then another installer will silently stomp that VBRUN600.DLL 
with its own required, slightly altered copy. Now the first program is 
broken, but maybe not obviously. Maybe it silently fails to update 
General Ledger totals for a few months until somebody notices (listen 
for the scream). Then a Windows update installs a later version on 
VBRUN600.DLL without any of the enhancements, or with one or both of 
them implemented in a different way, and both programs are broken.

> Is it because the devs include all the necessary libraries in
> their program?  Should I assume this is an inefficient coding
> practice? 

Yes.

Just tell your Linux packages what you require (glibc >= versionX, 
libSDL, whatever) and let the package manager sort it all out 
automagically.

Cheers; Leon




More information about the Christiansource mailing list