Mail Archives: djgpp-workers/1999/06/28/03:33:53
On Sun, 27 Jun 1999, Eli Zaretskii wrote:
>
> On Sat, 26 Jun 1999 pavenis AT lanet DOT lv wrote:
>
> > Seems that there are still problems with bash-2.03 binaries. Here
> > is way how to reproduce them:
> > - if gcc-2.95 prerelease snapshot sources is unpacked on drive
> > different from one where DJGPP is installed then make fails in
> > directory libiberty.
>
> Seems like a problem with SHELL = /bin/sh or something like that. See
> below.
>
> > Binary of make-3.77 from DJGPP distribution even
> > segfaults (when I rebuilt make with almost current CVS
> > version of DJGPP then no more segfault, anyway it didn't work)
>
> Make crashes because of a bug in library function `system' which was
> fixed in CVS in April. The bug would raise its ugly head when Make
> invoked a command that uses pipes and which fails half-way through the
> pipe. This typically happens when a command that was supposed to be run
> by Bash is instead run by the internal emulator of COMMAND.COM, which
> doesn't understand the syntax of Unixy shell.
>
> One case when Make cannot invoke Bash is when something happens to PATH.
> This causes the "SHELL = /bin/sh" line in a Makefile to be effectively
> ignored.
Yes it's really seems that problem is with PATH:
I have my primary DJGPP installation in C:/DJGPP (egcs-1.1.2, etc)
and for tests I'm using second one in D:/DJGPP (gcc-2.95
snapshots now). When I built gcc-2.95 snapshots I often simply
added D:/DJGPP/BIN at begin of path (C:/DJGPP/BIN was initially
not removed but was after D:/DJGPP/BIN) and of course updated
DJGPP environment variable (I have BAT file that does this)
gcc-2.95 prerelease sources were
placed on C drive (not under C:/DJGPP, but that doesn't matter)
When I used old bash-1.14.7 binary all worked Ok. After changing
to bash-2.03 binary I found that even configure due to unknown
reason does not find gcc.exe in D:/DJGPP/BIN (it's there, if I'm
running it directly) but finds it in C:/DJGPP/BIN which doesn't
work of course due to changed DJGPP env. variable.
After that I removed C:/DJGPP/BIN from PATH and left only
D:/DJGPP/BIN there. After that I got problems in form I described
earlier (attempt to use command.com instead of bash).
>
> > Must remake target `all-libiberty'.
> > Too many parameters - all-libiberty
> > Bad command or file name
>
> The last two lines are a telltale sign of the failure I described above:
> either COMMAND.COM or the internal emulator is trying to run commands
> meant for Bash, and Make crashes due to a bug in `system'.
>
> Fixing the bug won't fix the problem, except that Make won't crash; but
> the build will still fail. Try to find the reason why Make doesn't
> invoke Bash, like it should.
>
I'm perhaps will not have time to debug this in next 2 weeks.
Andris
- Raw text -