delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/06/13/19:11:45

Sender: nate AT cartsys DOT com
Message-ID: <37642B63.71F64C68@cartsys.com>
Date: Sun, 13 Jun 1999 15:06:27 -0700
From: Nate Eldredge <nate AT cartsys DOT com>
X-Mailer: Mozilla 4.08 [en] (X11; I; Linux 2.2.10 i586)
MIME-Version: 1.0
To: djgpp AT delorie DOT com
Subject: Re: Hello World and File size
References: <Pine DOT SUN DOT 3 DOT 91 DOT 990613111308 DOT 17906K AT is>
Reply-To: djgpp AT delorie DOT com

Eli Zaretskii wrote:
> 
> On Thu, 10 Jun 1999, Christopher Nelson wrote:

> > Okay, Now imagine that you've got tons and tons of DJGPP programs, each one
> > with it's own copy of the same stuff linked into it.  Imagine how many megs
> > would be free if they didn't?
> 
> I'm arguing that the disk space saved by this is much less important
> than the mess we will have on our hands due to proliferation of subtly
> incompatible versions of the standard libraries.

I disagree.

Judging from the model of Linux, I don't think that the scenario you've
been suggesting (that developers would react to standard library bugs by
distributing new DLLs, ref Message-ID
<Pine DOT SUN DOT 3 DOT 91 DOT 990609113301 DOT 11862I-100000 AT is> of June 9) is likely.  A
more reasonable way of handling this (and, in my experience, one often
used) is to report the bug to the maintainers (perhaps a bugfixed
version will be released quickly), include a source patch with the
application, and perhaps distribute a statically linked binary.  After
all, just because DLLs are provided needn't mean one is required to use
them.  Statically linked binaries can remain a perfectly reasonable
format.

I have only seen Linux packages distributed with independent libraries
for convenience, to save the user the trouble of finding, compiling and
installing it.  Nearly always, they are advised to do just that when
possible to take advantage of newer library versions.  This, in fact, is
an advantage of dynamic linking: a library bug can be corrected in
installed applications without recompiling them.

IMHO, in an environment where sources, compilers, and choice of link
method are freely available, there are no philosophical reasons to avoid
dynamic linking.

This doesn't mean I'm suggesting that DJGPP switch to DLLs now; I think
the implementation issues make it impractical and remove several of its
other advantages.  But I don't think we should decide against this
approach in advance.
-- 

Nate Eldredge
nate AT cartsys DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019