delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/07/21/07:25:26

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
From: "Dave Korn" <dave DOT korn AT artimi DOT com>
To: <cygwin AT cygwin DOT com>
Subject: RE: make 3.80 bug - running a program inside make
Date: Thu, 21 Jul 2005 12:24:55 +0100
MIME-Version: 1.0
In-Reply-To: <20050721034548.GA25539@trixie.casa.cgf.cx>
Message-ID: <SERRANOPaAn9pmzpEI000000663@SERRANO.CAM.ARTIMI.COM>

----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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019