X-Authentication-Warning: ieva01.lanet.lv: pavenis owned process doing -bs Date: Mon, 28 Jun 1999 10:24:59 +0300 (WET) From: Andris Pavenis To: Eli Zaretskii 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 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