Subject: Re: bug#14821: Build broken on 64-bit Cygwin starting with bzr revision 113315
From: Ken Brown <[email-masked]>
To: Paul Eggert <[email-masked]>
Cc: Eli Zaretskii <[email-masked]>, [email-masked]
Date: Tue, 09 Jul 2013 15:52:43 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

On 7/9/2013 1:29 PM, Paul Eggert wrote:
> On 07/09/13 10:13, Ken Brown wrote:
>> Paul just submitted a patch to Gnulib that should fix it in a better way than what I suggested.
>
> One problem was that I tried too hard to not use Gnulib
> in Emacs, so I mistakenly avoided Gnulib's binary-io module.
>
> There appears to be another issue, though -- a porting bug in Gnulib when
> using the accept4 or pipe2 modules on Cygwin.  As Ken notes I
> have tried to fix that problem in Gnulib, and propagated the
> fix to Emacs while I was fixing the binary-io issue.
>
> Please try trunk bzr 113348 to see whether these two changes
> solve the problem.

Yes, that fixes it.  Thanks.

For the record, the problem I reported was due to the fact that Cygwin 
defines setmode as a macro that expands to _setmode.  (So I was wrong 
when I said that setmode shouldn't be used on Cygwin.)  But this 
definition is in <io.h>, which wasn't being #included.  The problem 
showed up only in the 64-bit build because underscores are automatically 
prepended in the 32-bit build.

I'm closing the bug.

Ken