www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1993/07/29/17:04:46

Date: Thu, 29 Jul 93 14:51:11 MDT
From: bob AT plk DOT af DOT mil (Bob Conley)
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: Version Packaging

There have been a number of recent problems relating to the way the
various revision levels of DJGPP are packaged.  Usually the conversation
goes something like the following:

>> I recently switched to V1.10 of the GO32 and friends.
>> Now, my programs, using graphics don't work anymore;
>
>get pub/msdos/djgpp/pub/csdpmit1.zip's go32.exe

or

>Since the "-c" option is working, and "gcc hello.c" isn't, it sounds  
>like you may be missing ld (the linker) which is in a separate  
>binutils package.


At best there seems to be an underlying confusion for some of us on
which components need to be connected to have a 1.09 or 1.10 system.
Speaking just for myself, I certainly am confused enough about 1.10
that I am reluctant to try it out, expecting that too much time would
be spent trying to navigate the maze than would be balanced by the
return on the investment.

May I suggest that there may be a better way to collect together the
various files associated with a given release level?  Just a suggestion
(others may have much better ideas along these lines) would be to have
separate directory nodes for each revision;  for example, DJGPP_1.09
could hold _ALL_ of the files associated with this version (similarly,
directory DJGPP_1.10 could hold _ALL_ of the files associated with that
revision).  For someone intimately familiar with all the internal
interrelations of this rather large body of software, it may seem obvious
that compiler "A" needs to be used with linker "B", or the program needs
to be loaded with graphics library "C".  But for the uninitiated (or for
the person who merely wants to _USE_ this software without becoming
a GPP-hacker---and I consider myself in this catagory), there seems to be
a level of complexity and confusion which could be avoided.

My opinion is that it should be possible to enter a single directory
path at the FTP site and find there all the relevant files one needs to
obtain in order to have a functioning DJGPP system at a given revision
level;  it should not be necessary to discover that the go32 from another
directory node is required, or that the linker from a different utils is
needed.  That way, if there are real incompatibilities between the
successive releases of DJGPP, one can easily migrate up or down the
seqence to find the one which works with a given application.  In addition,
it provides a better migration path for us in that we can quickly install
the new release---1.10 for example---determine whether it is compatible
with our application suite, and revert to 1.09 if problems are found.

Of course, there may be files which are common to more than one revision,
and for maintainability it is desirable to have only one copy extant.
The FTP site can handle this in a number of ways.  Perhaps the simplest is
to have the physical location for a given file be the directory associated
with the revision where the file is introduced into the system.  If a
subsequent revision uses the subject file, a symbolic link could point
from the directory of the new revision to the actual file.  The user of
DJGPP could decide on how to handle this sitiuation on one's own system,
and optimize for simplicity, minimum file space used, etc., without any
impact to the outside community.

     Bob Conley
     conley AT plk DOT af DOT mil

- Raw text -


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