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

Marco Atzeri marco.atzeri@gmail.com
Wed May 27 16:25:00 GMT 2015


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 >>
>> 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?
>
>
> Thanks,
> Corinna

I will put in the TODO list, but real job is giving me short time
for the time being.

Marco




--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list