ading Postscript files

Mike Bilow mikebw at bilow.bilow.uu.ids.net
Sun Jun 8 21:46:00 EDT 1997



John Chambers wrote in a message to Mike Bilow:

 JC> Well, '.' is in my search path, of course.  But  what 
 JC> relevance  does this have to the problem?

 JC> The problem is that I had two packages, let's call them "X" 
 JC> and  "Y", both  of  which  called  a  program  called "gs". 
 JC> One's "gs" is, say, /usr/bin/X/gs; the other's is
 JC> /usr/bin/Y/gs.  But neither X nor Y uses a  full  path; they
 JC> both just invoke "gs" and trust that the right one will be
 JC> run.  How will twiddling the search-path position of "." 
 JC> help here? For that matter, how will twiddling the search
 JC> path help at all? It seems that no specific value for $PATH
 JC> will make both X and Y  work correctly.

Logically, the program which calls 'gs' must be running from some directory. 
Assuming that these two programs are running out of different directories, you
need to define links named 'gs' in these two directories, each to the proper
'gs' executable.  Then, if your global search path has '.' early on, then the
appropriate link ('./gs') will always be found for each parent program.  If a
parent program and its 'gs' are actually in the same directory, then you don't
even need the link.

 JC> In the case of ghostview, the problem is made worse by the 
 JC> fact  that it pops up an error window that doesn't explain
 JC> the problem. If it had explained that it had called "gs" and
 JC> gotten unexpected behavior, then I would probably have known
 JC> how to fix the problem. But it didn't even deign to mention
 JC> "gs", and the diagnostics it  gave  were  (to  me  at least)
 JC> rather incomprehensible.

What would you have it return instead?  "Oops, sorry, the program I just
spawned was not the program I intended to spawn.  It gave me a valid return
code so I have no way of knowing that.  It's just a hunch."  This is on a par
with expecting an error message from a totally dead computer that says
"Warning!  Power plug not in wall."
 
-- Mike




More information about the Discuss mailing list