----Original Message---- >From: Christopher Faylor >Sent: 21 July 2005 04:46
> On Wed, Jul 20, 2005 at 08:39:22PM -0700, turbo wrote: >> I have some makefiles that fail to work correctly. >> They worked about 6 months ago with cygwin. >> ${BIN}calls calls.in > calls.out >> I added the pwd line to make sure the directory exists. >> When I remove the "> calls.out" in the makefile, the program runs, and >> output is directed to standard output. > > Judging by the error messages, it sounds like you have the "MAKE_MODE" > environment variable set. > > If that is the case, you should unset it. Judging by the cygcheck attachment, he doesn't have MAKE_MODE set. He does, however, have bash/coreutils 3.0-7 installed, which could indicate a rollback from the buggy 3.0-8 versions, and could perhaps be the cause of this line: > Not Found: sh which would explain why the exe runs correctly when the output is stdout but fails when the output is redirected: make has an optimisation that looks at the command line to be run and, if it doesn't need any shell features, invokes the command executable directly through fork(...)/exec(...), to avoid the costs of spawning a shell. This still works fine, but in the case where the output is redirected, which is a shell-features, make knows it has to use system(...) to invoke the command under sh; and it's system(...) looking for sh.exe that is producing the error message. The solution for Jeff is to upgrade coreutils and bash; that should fix it. cheers, DaveK -- Can't think of a witty .sigline today.... -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/