This is what I saw. CC w32fns.o CC w32menu.o CC w32reg.o CC w32font.o CC w32term.o CC w32xfns.o CC w32select.o CC w32uniscribe.o CC w32cygwinx.o CC w32.o w32.c:551:3: error: conflicting types for 'CONSOLE_FONT_INFO' } CONSOLE_FONT_INFO; ^ In file included from c:\mingw\include\windows.h:43:0, from c:\mingw\include\winsock2.h:22, from c:/d/pub/emacs/emacs-29.0.90/nt/inc/sys/socket.h:57, from thread.h:25, from lisp.h:2268, from w32.c:98: c:\mingw\include\wincon.h:86:3: note: previous declaration of 'CONSOLE_FONT_INFO' was here } CONSOLE_FONT_INFO, *PCONSOLE_FONT_INFO; ^ make[2]: *** [w32.o] Error 1 make[2]: Leaving directory `/c/d/pub/emacs/emacs-29.0.90/src' make[1]: *** [src] Error 2 make[1]: Leaving directory `/c/d/pub/emacs/emacs-29.0.90' make[1]: Entering directory `/c/d/pub/emacs/emacs-29.0.90' *** *** "make all" failed with exit status 2. *** *** You could try to: *** - run "make bootstrap", which might fix the problem *** - run "make V=1", which displays the full commands invoked by make, *** to further investigate the problem *** make[1]: *** [advice-on-failure] Error 2 make[1]: Leaving directory `/c/d/pub/emacs/emacs-29.0.90' make: *** [all] Error 2 On Wed, Apr 12, 2023 at 8:32 AM Eli Zaretskii wrote: > > From: Tak Ota > > Date: Tue, 11 Apr 2023 11:16:28 -0700 > > > > When attempted to build using MinGW the next section of code in > src/w32.c conflicts with the definition > > in MinGW/include/wincon.h > > Thank you for your report. > > Please show the exact compilation error message you get due to this > conflict. I don't see any errors here, and Emacs 29 compiles with > MinGW flawlessly here. > > > This typedef was not in src/w32.c of Emacs 28.2. > > > > #if _WIN32_WINNT < 0x0501 > > typedef struct > > { > > DWORD nFont; > > COORD dwFontSize; > > } CONSOLE_FONT_INFO; > > #endif > > Also, which flavor of MinGW and which version are you using? The > above should be only visible with _WIN32_WINNT that is smaller than > 0x0501, which should not happen with latest MinGW64. And looking at > the latest MinGW64 headers, I see the definition of CONSOLE_FONT_INFO > structure there that is identical to the above, so how can it > conflict? >