delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/03/30/12:13:27

Date: Mon, 30 Mar 1998 17:13:45 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: Bob Paddock <bpaddock AT csonline DOT net>
cc: djgpp AT delorie DOT com
Subject: Re: Building gcc-2.8.1 for DJGPP
In-Reply-To: <6ZsH1UQy8UjK092yn@csonline.net>
Message-ID: <Pine.SUN.3.91.980330165658.20293D-100000@is>
MIME-Version: 1.0

On Sun, 29 Mar 1998, Bob Paddock wrote:

> I've tried "set CONFIG_SHELL=/djgpp/bin/sh.exe" at the DOS
> command line (/bash.exe acts the same, as well as leaving off
> the .exe part).

I didn't say to set CONFIG_SHELL=/djgpp/bin/sh.exe.  I said to set
CONFIG_SHELL=bash.  And I meant it exactly as I said: no full path name
and no extension.  Did you try that?  It works for me in numerous GNU
packages that I've built.  If it doesn't work for you, please post the 
error message(s) that you see.

Also, please note that after you set CONFIG_SHELL like above, you need to
run the `configure' script once again, because the value of %CONFIG_SHELL%
is consulted by that script alone, and it then records it in various files
it produces.  If you set CONFIG_SHELL and don't run `configure', the old 
value might still be in effect.

> +CONFIG_SHELL=%DJDIR%/bin/sh.exe

This will be overridden by a variable in the environment, so beware.

> Doing  "sh djconfig.sh" comes back and says
> "djconfig.sh C:/bin/sh no such file or directory (ENOENT)".

Did djconfig.sh have #!/bin/sh at its first line?  It must have, or it 
won't work (this has nothing to do with the CONFIG_SHELL variable, which 
solves a related, but different problem).

> Also tried:
> #!/djgpp/bin/sh [and tried /sh.exe] as the first line of djconfig.sh.

Once again, please pay attention: the first line needs to say *exactly*
"#!/bin/sh".  The only way that DJGPP will pretend "/bin/sh" exists is if
the script calls it *precisely* that.  If you change that string to
anything else, DJGPP will look for that file *verbatim*.  In other words,
when you say "#!/djgpp/bin/sh", DJGPP library functions look for a file
named `x:/djgpp/bin/sh', where X: is the current drive letter.  Since what
you have is `x:/djgpp/bin/sh.exe' at best, it won't work unless you also
append the .exe suffix.

More generally, only interpreters of the form "/bin/foo" (only in "/bin", 
and only with no extension) are treated specially by looking for `foo' 
with every known executable extension along the PATH.

This is all described in libc reference, under `spawnXX' and `system', so 
you could just read that.

> Is any of this showing I have some thing configured wrong
> some place?

No, just that you don't follow instructions ;-).

- Raw text -


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