Date: Sun, 27 Jun 1999 18:28:22 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: pavenis AT lanet DOT lv cc: "Mark E." , djgpp-workers AT delorie DOT com Subject: Re: Problems with bash-2.03 In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp-workers AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk 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.