This is the mail archive of the
mailing list for the Cygwin project.
Re: cygwin 2.0.2, make 4.1: stderr redirect append does not work with native Windows programs
- From: Marco Atzeri <marco dot atzeri at gmail dot com>
- To: cygwin at cygwin dot com
- Date: Wed, 27 May 2015 18:07:43 +0200
- Subject: Re: cygwin 2.0.2, make 4.1: stderr redirect append does not work with native Windows programs
- Authentication-results: sourceware.org; auth=none
- References: <5551188B dot 7050503 at coverity dot com> <55525B85 dot 90001 at coverity dot com> <20150527114801 dot GB16927 at calimero dot vinschen dot de>
On 5/27/2015 1:48 PM, Corinna Vinschen wrote:
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 >>
/cygdrive/c/Windows/System32/sort.exe nonexist 2>> output; true
----- BEGIN output -----
nonexistThe system cannot find the file specified.
----- 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?
I will put in the TODO list, but real job is giving me short time
for the time being.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple