Subject: bug#14821: closed (Re: bug#14821: Build broken on 64-bit Cygwin starting with bzr revision 113315)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 09 Jul 2013 19:53:03 +0000

Your bug report

#14821: Build broken on 64-bit Cygwin starting with bzr revision 113315

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
14821: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14821
GNU Bug Tracking System
Contact [email-masked] with problems

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

Subject: Build broken on 64-bit Cygwin starting with bzr revision 113315
From: Ken Brown <[email-masked]>
To: [email-masked]
Date: Mon, 08 Jul 2013 11:47:36 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Starting with bzr revision 113315, the build on 64-bit Cygwin fails as 
follows:

gcc -std=gnu99 -Demacs  -I. -I/c/src/emacs/64testt/src  -I../lib 
-I/c/src/emacs/64testt/src/../lib    -D_REENTRANT -I/usr/include/gtk-3.0 
-I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 
-I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ 
-I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include 
-I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 
-I/usr/include/libpng15   -DGDK_DISABLE_DEPRECATION_WARNINGS 
-DGLIB_DISABLE_DEPRECATION_WARNINGS -I/usr/include/freetype2 
-D_REENTRANT -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0 
-I/usr/include/cairo -I/usr/include/libpng15 -I/usr/include/pixman-1 
-I/usr/include/freetype2   -fopenmp -I/usr/include/ImageMagick 
-I/usr/include/libxml2   -I/usr/include/dbus-1.0 
-I/usr/lib/dbus-1.0/include      -D_REENTRANT -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include   -D_REENTRANT -I/usr/include/gconf/2 
-I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include 
-I/usr/include/freetype2       -MMD -MF deps/.d -MP 
-I/usr/include/p11-kit-1   -D_REENTRANT -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include      -O0 -ggdb    \
   -o temacs  vm-limit.o dispnew.o frame.o scroll.o xdisp.o menu.o 
xmenu.o window.o  charset.o coding.o category.o ccl.o character.o 
chartab.o bidi.o  cm.o term.o terminal.o xfaces.o xterm.o xfns.o 
xselect.o xrdb.o xsmfns.o xsettings.o gtkutil.o emacsgtkfixed.o 
dbusbind.o  emacs.o keyboard.o macros.o keymap.o sysdep.o  buffer.o 
filelock.o insdel.o marker.o  minibuf.o fileio.o dired.o  cmds.o 
casetab.o casefiddle.o indent.o search.o regex.o undo.o  alloc.o data.o 
doc.o editfns.o callint.o  eval.o floatfns.o fns.o font.o print.o 
lread.o  syntax.o unexcw.o bytecode.o  process.o gnutls.o callproc.o 
region-cache.o sound.o atimer.o  doprnt.o intervals.o textprop.o 
composite.o xml.o gfilenotify.o  profiler.o     sheap.o cygw32.o xfont.o 
ftfont.o xftfont.o ftxfont.o   fontset.o fringe.o image.o xgselect.o 
terminfo.o  gmalloc.o   lastfile.o   ../lib/libgnu.a       -ltiff -ljpeg 
-lpng -lz -lm -lgif -lXpm  -lgtk-3 -latk-bridge-2.0 -lgdk-3 -latk-1.0 
-lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage 
-lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lgio-2.0 -lXfixes 
-lpangoft2-1.0 -lharfbuzz -lpango-1.0 -lcairo -lpixman-1 -lfontconfig 
-lexpat -lfreetype -lbz2 -lxcb-shm -lxcb-render -lXrender -lXext -lX11 
-lxcb -lXau -lXdmcp -lpng15 -lm -lz -lgmodule-2.0 -lgobject-2.0 -lffi 
-lglib-2.0 -lintl -liconv -lpcre   -lSM -lICE -lX11 -lXrender -lXft 
-lXrender -lfontconfig -lexpat -lfreetype -lz -lbz2 -lX11 -lxcb -lXau 
-lXdmcp     -lrsvg-2 -lgio-2.0 -lgdk_pixbuf-2.0 -lcairo -lgmodule-2.0 
-lgobject-2.0 -lffi -lpixman-1 -lfontconfig -lexpat -lfreetype -lbz2 
-lpng15 -lm -lz -lxcb-shm -lxcb-render -lXrender -lXext -lglib-2.0 
-lintl -liconv -lpcre -lX11 -lxcb -lXau -lXdmcp   -lMagickWand 
-lMagickCore         -ldbus-1 -lpthread -lrt     -lXrandr -lXext 
-lXrender -lX11 -lxcb -lXau -lXdmcp   -lXinerama -lXext -lX11 -lxcb 
-lXau -lXdmcp    -lxml2 -lz -liconv -lm       -lncurses  -lgio-2.0 -lz 
-lgmodule-2.0 -lgobject-2.0 -lffi -lglib-2.0 -lintl -liconv -lpcre 
-lgconf-2 -ldbus-1 -lpthread -lrt -lgio-2.0 -lz -lgmodule-2.0 
-lgobject-2.0 -lffi -lglib-2.0 -lintl -liconv -lpcre   -lgobject-2.0 
-lffi -lglib-2.0 -lintl -liconv -lpcre     -lfreetype -lz -lbz2 
-lfontconfig -lexpat -lfreetype -lz -lbz2      -lgnutls -lnettle 
-lhogweed -lgmp -lintl -liconv -ltasn1 -lp11-kit -lz   -lpthread 
-lgio-2.0 -lz -lgmodule-2.0 -lgobject-2.0 -lffi -lglib-2.0 -lintl 
-liconv -lpcre
../lib/libgnu.a(pipe2.o): In function `rpl_pipe2':
/c/src/emacs/64testt/lib/pipe2.c:144: undefined reference to `setmode'

I think the issue here is that pipe2.c shouldn't be compiled on Cygwin.

Ken