cygwin 2.0.2, make 4.1: stderr redirect append does not work with native Windows programs

Corinna Vinschen
Wed May 27 11:57:00 GMT 2015

On May 12 12:59, Scott McPeak wrote:
> I am attaching a reproducer Makefile.  Run "make 2>&1 | cat" to see
> the incorrect output:
>     $ make 2>&1 | cat
>     echo first > output
>     echo secondxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx >>
> output
>     /cygdrive/c/Windows/System32/sort.exe nonexist 2>> output; true
>     ----- BEGIN output -----
>     nonexistThe system cannot find the file specified.
>     xxxxxxxxxxxxxx
>     ----- END output -----
> The bug happens with both make 4.1 and make 4.0 on cygwin 2.0.2.  It
> does not happen with make 3.82.90 and cygwin 1.7.23.  (And that is
> my only known workaround: downgrade to cygwin 1.7.)

This appears to be an issue with make 4.  Using make 3.82.90 under
recent Cygwin "fixes" the issue.  "Fixes" in quotes, because this might
be a result of how more recent make versions handle I/O.  This could
be a deliberate decision in terms of flushing output to a file.
Then again, it's rather puzzeling that this affects a file only opened
by the subshell.

Marco, do you see a chance trying to find out why this occurs?


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <>

More information about the Cygwin mailing list