Mail Archives: cygwin/2005/07/21/07:25:26
----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/
- Raw text -