Mail Archives: djgpp-workers/1999/06/27/11:30:57
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.
> 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.
- Raw text -