GNU bug report logs - #62792
Emacs 29.0.90 build fails

Previous Next

Package: emacs;

Reported by: Tak Ota <takaaki.ota <at> gmail.com>

Date: Wed, 12 Apr 2023 15:22:01 UTC

Severity: normal

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 62792 in the body.
You can then email your comments to 62792 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#62792; Package emacs. (Wed, 12 Apr 2023 15:22:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Tak Ota <takaaki.ota <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 12 Apr 2023 15:22:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tak Ota <takaaki.ota <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Emacs 29.0.90 build fails
Date: Tue, 11 Apr 2023 11:16:28 -0700
[Message part 1 (text/plain, inline)]
When attempted to build using MinGW the next section of code in src/w32.c
conflicts with the definition in MinGW/include/wincon.h
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

By removing the above portion of code from rc/w32.c the build completes
successfully.

-Tak
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#62792; Package emacs. (Wed, 12 Apr 2023 15:33:02 GMT) Full text and rfc822 format available.

Message #8 received at 62792 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Tak Ota <takaaki.ota <at> gmail.com>
Cc: 62792 <at> debbugs.gnu.org
Subject: Re: bug#62792: Emacs 29.0.90 build fails
Date: Wed, 12 Apr 2023 18:33:11 +0300
> From: Tak Ota <takaaki.ota <at> gmail.com>
> 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?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#62792; Package emacs. (Wed, 12 Apr 2023 16:19:01 GMT) Full text and rfc822 format available.

Message #11 received at 62792 <at> debbugs.gnu.org (full text, mbox):

From: Tak Ota <takaaki.ota <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 62792 <at> debbugs.gnu.org
Subject: Re: bug#62792: Emacs 29.0.90 build fails
Date: Wed, 12 Apr 2023 09:18:39 -0700
[Message part 1 (text/plain, inline)]
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 <eliz <at> gnu.org> wrote:

> > From: Tak Ota <takaaki.ota <at> gmail.com>
> > 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?
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#62792; Package emacs. (Wed, 12 Apr 2023 16:37:02 GMT) Full text and rfc822 format available.

Message #14 received at 62792 <at> debbugs.gnu.org (full text, mbox):

From: Corwin Brust <corwin <at> bru.st>
To: Tak Ota <takaaki.ota <at> gmail.com>
Cc: 62792 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#62792: Emacs 29.0.90 build fails
Date: Wed, 12 Apr 2023 11:36:14 -0500
Hi Tak,

On Wed, Apr 12, 2023 at 11:18 AM Tak Ota <takaaki.ota <at> gmail.com> wrote:
>
> This is what I saw.

Thanks for the error message detail.  Unfortunately, I'm still not
able to reproduce this error.  I'm building the emacs-29 branch under
MINGW32, in case that might be it. (It has been several days since I
tried x32 build.)

Are you building from a git checkout or starting from the 29.0.90
source archive?

Can you share the output from running "uname -a" in the shell where
you are building?  Here's mine, for reference:

  MINGW64_NT-10.0-19043 Avalon 3.3.4-341.x86_64 2022-02-15 17:24 UTC x86_64 Msys

Finally, can you answer Eli's question below?

>>
>> 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?

Thanks for reporting!




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#62792; Package emacs. (Wed, 12 Apr 2023 16:37:02 GMT) Full text and rfc822 format available.

Message #17 received at 62792 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Tak Ota <takaaki.ota <at> gmail.com>
Cc: 62792 <at> debbugs.gnu.org
Subject: Re: bug#62792: Emacs 29.0.90 build fails
Date: Wed, 12 Apr 2023 19:37:31 +0300
> From: Tak Ota <takaaki.ota <at> gmail.com>
> Date: Wed, 12 Apr 2023 09:18:39 -0700
> Cc: 62792 <at> debbugs.gnu.org
> 
> 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;
>    ^

Please show the definition of CONSOLE_FONT_INFO in your wincon.h, it
should begin a few lines before line 86 of wincon.h.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#62792; Package emacs. (Wed, 12 Apr 2023 17:45:02 GMT) Full text and rfc822 format available.

Message #20 received at 62792 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: takaaki.ota <at> gmail.com
Cc: 62792 <at> debbugs.gnu.org
Subject: Re: bug#62792: Emacs 29.0.90 build fails
Date: Wed, 12 Apr 2023 20:44:52 +0300
> Cc: 62792 <at> debbugs.gnu.org
> Date: Wed, 12 Apr 2023 19:37:31 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> 
> > 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;
> >    ^
> 
> Please show the definition of CONSOLE_FONT_INFO in your wincon.h, it
> should begin a few lines before line 86 of wincon.h.

And in addition, please show the values of

  __MINGW32_VERSION
  __MINGW32_MAJOR_VERSION
  __MINGW32_MINOR_VERSION
  __MINGW32_PATCHLEVEL

They should all be defined in c:\mingw\include\_mingw.h

I think you are using a very old version of MinGW, where this
declaration was not protected by a suitable #if condition.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#62792; Package emacs. (Wed, 12 Apr 2023 18:17:02 GMT) Full text and rfc822 format available.

Message #23 received at 62792 <at> debbugs.gnu.org (full text, mbox):

From: Tak Ota <takaaki.ota <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 62792 <at> debbugs.gnu.org
Subject: Re: bug#62792: Emacs 29.0.90 build fails
Date: Wed, 12 Apr 2023 11:16:08 -0700
[Message part 1 (text/plain, inline)]
Here is my MinGW information.

ota <at> Tak-Dell-XPS15 /c/d/pub/emacs/emacs-29.0.90
$ which gcc
/mingw/bin/gcc.exe

ota <at> Tak-Dell-XPS15 /c/d/pub/emacs/emacs-29.0.90
$ gcc --version
gcc.exe (GCC) 5.3.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


ota <at> Tak-Dell-XPS15 /c/d/pub/emacs/emacs-29.0.90
$ gcc -v
Using built-in specs.
COLLECT_GCC=C:\MinGW\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/5.3.0/lto-wrapper.exe
Target: mingw32
Configured with: ../src/gcc-5.3.0/configure --build=x86_64-pc-linux-gnu
--host=mingw32 --prefix=/mingw --disable-win32-registry --target=mingw32
--with-arch=i586 --enable-languages=c,c++,objc,obj-c++,fortran,ada
--enable-static --enable-shared --enable-threads --with-dwarf2
--disable-sjlj-exceptions --enable-version-specific-runtime-libs
--with-libintl-prefix=/mingw --enable-libstdcxx-debug --with-tune=generic
--enable-libgomp --disable-libvtv --enable-nls : (reconfigured)
../src/gcc-5.3.0/configure --build=x86_64-pc-linux-gnu --host=mingw32
--prefix=/mingw --disable-win32-registry --target=mingw32 --with-arch=i586
--enable-languages=c,c++,objc,obj-c++,fortran,ada --enable-static
--enable-shared --enable-threads --with-dwarf2 --disable-sjlj-exceptions
--enable-version-specific-runtime-libs --with-libiconv-prefix=/mingw
--with-libintl-prefix=/mingw --enable-libstdcxx-debug --with-tune=generic
--enable-libgomp --disable-libvtv --enable-nls
Thread model: win32
gcc version 5.3.0 (GCC)


On Wed, Apr 12, 2023 at 8:32 AM Eli Zaretskii <eliz <at> gnu.org> wrote:

> > From: Tak Ota <takaaki.ota <at> gmail.com>
> > 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?
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#62792; Package emacs. (Wed, 12 Apr 2023 18:37:01 GMT) Full text and rfc822 format available.

Message #26 received at 62792 <at> debbugs.gnu.org (full text, mbox):

From: Tak Ota <takaaki.ota <at> gmail.com>
To: Corwin Brust <corwin <at> bru.st>
Cc: 62792 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#62792: Emacs 29.0.90 build fails
Date: Wed, 12 Apr 2023 11:36:16 -0700
[Message part 1 (text/plain, inline)]
Hi Corwin,

ota <at> Tak-Dell-XPS15 /c/d/pub/emacs/emacs-29.0.90
$ uname -a
MINGW32_NT-6.2 TAK-DELL-XPS15 1.0.19(0.48/3/2) 2016-07-13 17:45 i686 Msys

On Wed, Apr 12, 2023 at 9:36 AM Corwin Brust <corwin <at> bru.st> wrote:

> Hi Tak,
>
> On Wed, Apr 12, 2023 at 11:18 AM Tak Ota <takaaki.ota <at> gmail.com> wrote:
> >
> > This is what I saw.
>
> Thanks for the error message detail.  Unfortunately, I'm still not
> able to reproduce this error.  I'm building the emacs-29 branch under
> MINGW32, in case that might be it. (It has been several days since I
> tried x32 build.)
>
> Are you building from a git checkout or starting from the 29.0.90
> source archive?
>
> Can you share the output from running "uname -a" in the shell where
> you are building?  Here's mine, for reference:
>
>   MINGW64_NT-10.0-19043 Avalon 3.3.4-341.x86_64 2022-02-15 17:24 UTC
> x86_64 Msys
>
> Finally, can you answer Eli's question below?
>
> >>
> >> 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?
>
> Thanks for reporting!
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#62792; Package emacs. (Wed, 12 Apr 2023 18:43:02 GMT) Full text and rfc822 format available.

Message #29 received at 62792 <at> debbugs.gnu.org (full text, mbox):

From: Tak Ota <takaaki.ota <at> gmail.com>
To: Corwin Brust <corwin <at> bru.st>
Cc: 62792 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#62792: Emacs 29.0.90 build fails
Date: Wed, 12 Apr 2023 11:42:06 -0700
[Message part 1 (text/plain, inline)]
Corwin,

I have attached MinGW/include/wincon.h from my system.

-Tak

On Wed, Apr 12, 2023 at 11:36 AM Tak Ota <takaaki.ota <at> gmail.com> wrote:

> Hi Corwin,
>
> ota <at> Tak-Dell-XPS15 /c/d/pub/emacs/emacs-29.0.90
> $ uname -a
> MINGW32_NT-6.2 TAK-DELL-XPS15 1.0.19(0.48/3/2) 2016-07-13 17:45 i686 Msys
>
> On Wed, Apr 12, 2023 at 9:36 AM Corwin Brust <corwin <at> bru.st> wrote:
>
>> Hi Tak,
>>
>> On Wed, Apr 12, 2023 at 11:18 AM Tak Ota <takaaki.ota <at> gmail.com> wrote:
>> >
>> > This is what I saw.
>>
>> Thanks for the error message detail.  Unfortunately, I'm still not
>> able to reproduce this error.  I'm building the emacs-29 branch under
>> MINGW32, in case that might be it. (It has been several days since I
>> tried x32 build.)
>>
>> Are you building from a git checkout or starting from the 29.0.90
>> source archive?
>>
>> Can you share the output from running "uname -a" in the shell where
>> you are building?  Here's mine, for reference:
>>
>>   MINGW64_NT-10.0-19043 Avalon 3.3.4-341.x86_64 2022-02-15 17:24 UTC
>> x86_64 Msys
>>
>> Finally, can you answer Eli's question below?
>>
>> >>
>> >> 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?
>>
>> Thanks for reporting!
>>
>
[Message part 2 (text/html, inline)]
[wincon.h (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#62792; Package emacs. (Wed, 12 Apr 2023 18:47:02 GMT) Full text and rfc822 format available.

Message #32 received at 62792 <at> debbugs.gnu.org (full text, mbox):

From: Tak Ota <takaaki.ota <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 62792 <at> debbugs.gnu.org
Subject: Re: bug#62792: Emacs 29.0.90 build fails
Date: Wed, 12 Apr 2023 11:45:58 -0700
[Message part 1 (text/plain, inline)]
#define __MINGW32_VERSION           3022004L
#define __MINGW32_MAJOR_VERSION           3
#define __MINGW32_MINOR_VERSION          22
#define __MINGW32_PATCHLEVEL              4

On Wed, Apr 12, 2023 at 10:44 AM Eli Zaretskii <eliz <at> gnu.org> wrote:

> > Cc: 62792 <at> debbugs.gnu.org
> > Date: Wed, 12 Apr 2023 19:37:31 +0300
> > From: Eli Zaretskii <eliz <at> gnu.org>
> >
> > > 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;
> > >    ^
> >
> > Please show the definition of CONSOLE_FONT_INFO in your wincon.h, it
> > should begin a few lines before line 86 of wincon.h.
>
> And in addition, please show the values of
>
>   __MINGW32_VERSION
>   __MINGW32_MAJOR_VERSION
>   __MINGW32_MINOR_VERSION
>   __MINGW32_PATCHLEVEL
>
> They should all be defined in c:\mingw\include\_mingw.h
>
> I think you are using a very old version of MinGW, where this
> declaration was not protected by a suitable #if condition.
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#62792; Package emacs. (Wed, 12 Apr 2023 18:50:01 GMT) Full text and rfc822 format available.

Message #35 received at 62792 <at> debbugs.gnu.org (full text, mbox):

From: Tak Ota <takaaki.ota <at> gmail.com>
To: Corwin Brust <corwin <at> bru.st>
Cc: 62792 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#62792: Emacs 29.0.90 build fails
Date: Wed, 12 Apr 2023 11:48:48 -0700
[Message part 1 (text/plain, inline)]
I am curious. What is the reason the next was added to w32.c?

#if _WIN32_WINNT < 0x0501
typedef struct
{
  DWORD nFont;
  COORD dwFontSize;
} CONSOLE_FONT_INFO;
#endif

This was not in the previous emacs source w32.c.

-Tak


On Wed, Apr 12, 2023 at 11:36 AM Tak Ota <takaaki.ota <at> gmail.com> wrote:

> Hi Corwin,
>
> ota <at> Tak-Dell-XPS15 /c/d/pub/emacs/emacs-29.0.90
> $ uname -a
> MINGW32_NT-6.2 TAK-DELL-XPS15 1.0.19(0.48/3/2) 2016-07-13 17:45 i686 Msys
>
> On Wed, Apr 12, 2023 at 9:36 AM Corwin Brust <corwin <at> bru.st> wrote:
>
>> Hi Tak,
>>
>> On Wed, Apr 12, 2023 at 11:18 AM Tak Ota <takaaki.ota <at> gmail.com> wrote:
>> >
>> > This is what I saw.
>>
>> Thanks for the error message detail.  Unfortunately, I'm still not
>> able to reproduce this error.  I'm building the emacs-29 branch under
>> MINGW32, in case that might be it. (It has been several days since I
>> tried x32 build.)
>>
>> Are you building from a git checkout or starting from the 29.0.90
>> source archive?
>>
>> Can you share the output from running "uname -a" in the shell where
>> you are building?  Here's mine, for reference:
>>
>>   MINGW64_NT-10.0-19043 Avalon 3.3.4-341.x86_64 2022-02-15 17:24 UTC
>> x86_64 Msys
>>
>> Finally, can you answer Eli's question below?
>>
>> >>
>> >> 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?
>>
>> Thanks for reporting!
>>
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#62792; Package emacs. (Wed, 12 Apr 2023 18:58:02 GMT) Full text and rfc822 format available.

Message #38 received at 62792 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Tak Ota <takaaki.ota <at> gmail.com>
Cc: 62792 <at> debbugs.gnu.org
Subject: Re: bug#62792: Emacs 29.0.90 build fails
Date: Wed, 12 Apr 2023 21:57:59 +0300
> From: Tak Ota <takaaki.ota <at> gmail.com>
> Date: Wed, 12 Apr 2023 11:45:58 -0700
> Cc: 62792 <at> debbugs.gnu.org
> 
> #define __MINGW32_VERSION           3022004L
> #define __MINGW32_MAJOR_VERSION           3
> #define __MINGW32_MINOR_VERSION          22
> #define __MINGW32_PATCHLEVEL              4

OK, thanks.  I think I see the reason now.  Please try the patch below
and tell if it solves the problem.

diff --git a/src/w32.c b/src/w32.c
index 8d344d2..bb3b35f 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -543,7 +543,13 @@ int (WINAPI *pWideCharToMultiByte)(UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOO
 
 typedef COORD (WINAPI *GetConsoleFontSize_Proc) (HANDLE, DWORD);
 
-#if _WIN32_WINNT < 0x0501
+/* Old versions of mingw.org's MinGW, before v5.2.0, don't have a
+   _WIN32_WINNT guard for CONSOLE_FONT_INFO in wincon.h, which causes
+   compilation errors.  Note: MinGW64 sets _WIN32_WINNT to a higher
+   version, and its w32api.h version stays fixed at 3.14.  */
+#if _WIN32_WINNT < 0x0501 \
+    && (__W32API_MAJOR_VERSION > 5 \
+	|| (__W32API_MAJOR_VERSION == 5 && __W32API_MINOR_VERSION >= 2))
 typedef struct
 {
   DWORD nFont;




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#62792; Package emacs. (Wed, 12 Apr 2023 19:00:02 GMT) Full text and rfc822 format available.

Message #41 received at 62792 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Tak Ota <takaaki.ota <at> gmail.com>
Cc: 62792 <at> debbugs.gnu.org, corwin <at> bru.st
Subject: Re: bug#62792: Emacs 29.0.90 build fails
Date: Wed, 12 Apr 2023 21:59:50 +0300
> From: Tak Ota <takaaki.ota <at> gmail.com>
> Date: Wed, 12 Apr 2023 11:48:48 -0700
> Cc: Eli Zaretskii <eliz <at> gnu.org>, 62792 <at> debbugs.gnu.org
> 
> I am curious. What is the reason the next was added to w32.c?
> 
> #if _WIN32_WINNT < 0x0501
> typedef struct
> {
>   DWORD nFont;
>   COORD dwFontSize;
> } CONSOLE_FONT_INFO;
> #endif
> 
> This was not in the previous emacs source w32.c.

It was added to support the new command restart-emacs.  See the
function get_console_font_size and how it is used in w32_reexec_emacs.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#62792; Package emacs. (Wed, 12 Apr 2023 19:02:02 GMT) Full text and rfc822 format available.

Message #44 received at 62792 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Tak Ota <takaaki.ota <at> gmail.com>
Cc: 62792 <at> debbugs.gnu.org, corwin <at> bru.st
Subject: Re: bug#62792: Emacs 29.0.90 build fails
Date: Wed, 12 Apr 2023 22:01:40 +0300
> From: Tak Ota <takaaki.ota <at> gmail.com>
> Date: Wed, 12 Apr 2023 11:42:06 -0700
> Cc: Eli Zaretskii <eliz <at> gnu.org>, 62792 <at> debbugs.gnu.org
> 
> I have attached MinGW/include/wincon.h from my system.

Interesting.  It sounds like you are using (an old version of)
MinGW64, but your system headers are from mingw.org's MinGW.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#62792; Package emacs. (Wed, 12 Apr 2023 19:56:02 GMT) Full text and rfc822 format available.

Message #47 received at 62792 <at> debbugs.gnu.org (full text, mbox):

From: Tak Ota <takaaki.ota <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 62792 <at> debbugs.gnu.org
Subject: Re: bug#62792: Emacs 29.0.90 build fails
Date: Wed, 12 Apr 2023 12:54:45 -0700
[Message part 1 (text/plain, inline)]
Yes, this patch averts the error.  Thank you.

-Tak

On Wed, Apr 12, 2023 at 11:57 AM Eli Zaretskii <eliz <at> gnu.org> wrote:

> > From: Tak Ota <takaaki.ota <at> gmail.com>
> > Date: Wed, 12 Apr 2023 11:45:58 -0700
> > Cc: 62792 <at> debbugs.gnu.org
> >
> > #define __MINGW32_VERSION           3022004L
> > #define __MINGW32_MAJOR_VERSION           3
> > #define __MINGW32_MINOR_VERSION          22
> > #define __MINGW32_PATCHLEVEL              4
>
> OK, thanks.  I think I see the reason now.  Please try the patch below
> and tell if it solves the problem.
>
> diff --git a/src/w32.c b/src/w32.c
> index 8d344d2..bb3b35f 100644
> --- a/src/w32.c
> +++ b/src/w32.c
> @@ -543,7 +543,13 @@ int (WINAPI
> *pWideCharToMultiByte)(UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOO
>
>  typedef COORD (WINAPI *GetConsoleFontSize_Proc) (HANDLE, DWORD);
>
> -#if _WIN32_WINNT < 0x0501
> +/* Old versions of mingw.org's MinGW, before v5.2.0, don't have a
> +   _WIN32_WINNT guard for CONSOLE_FONT_INFO in wincon.h, which causes
> +   compilation errors.  Note: MinGW64 sets _WIN32_WINNT to a higher
> +   version, and its w32api.h version stays fixed at 3.14.  */
> +#if _WIN32_WINNT < 0x0501 \
> +    && (__W32API_MAJOR_VERSION > 5 \
> +       || (__W32API_MAJOR_VERSION == 5 && __W32API_MINOR_VERSION >= 2))
>  typedef struct
>  {
>    DWORD nFont;
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#62792; Package emacs. (Wed, 12 Apr 2023 19:57:01 GMT) Full text and rfc822 format available.

Message #50 received at 62792 <at> debbugs.gnu.org (full text, mbox):

From: Tak Ota <takaaki.ota <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 62792 <at> debbugs.gnu.org, corwin <at> bru.st
Subject: Re: bug#62792: Emacs 29.0.90 build fails
Date: Wed, 12 Apr 2023 12:56:13 -0700
[Message part 1 (text/plain, inline)]
I understand now.  Thanks for the explanation.

-Tak

On Wed, Apr 12, 2023 at 11:59 AM Eli Zaretskii <eliz <at> gnu.org> wrote:

> > From: Tak Ota <takaaki.ota <at> gmail.com>
> > Date: Wed, 12 Apr 2023 11:48:48 -0700
> > Cc: Eli Zaretskii <eliz <at> gnu.org>, 62792 <at> debbugs.gnu.org
> >
> > I am curious. What is the reason the next was added to w32.c?
> >
> > #if _WIN32_WINNT < 0x0501
> > typedef struct
> > {
> >   DWORD nFont;
> >   COORD dwFontSize;
> > } CONSOLE_FONT_INFO;
> > #endif
> >
> > This was not in the previous emacs source w32.c.
>
> It was added to support the new command restart-emacs.  See the
> function get_console_font_size and how it is used in w32_reexec_emacs.
>
[Message part 2 (text/html, inline)]

Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Thu, 13 Apr 2023 05:20:02 GMT) Full text and rfc822 format available.

Notification sent to Tak Ota <takaaki.ota <at> gmail.com>:
bug acknowledged by developer. (Thu, 13 Apr 2023 05:20:02 GMT) Full text and rfc822 format available.

Message #55 received at 62792-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Tak Ota <takaaki.ota <at> gmail.com>
Cc: 62792-done <at> debbugs.gnu.org
Subject: Re: bug#62792: Emacs 29.0.90 build fails
Date: Thu, 13 Apr 2023 08:20:13 +0300
> From: Tak Ota <takaaki.ota <at> gmail.com>
> Date: Wed, 12 Apr 2023 12:54:45 -0700
> Cc: 62792 <at> debbugs.gnu.org
> 
> Yes, this patch averts the error.  Thank you.

Thanks, I've now installed this on the emacs-29 branch, and I'm
closing the bug.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#62792; Package emacs. (Thu, 13 Apr 2023 16:19:01 GMT) Full text and rfc822 format available.

Message #58 received at 62792-done <at> debbugs.gnu.org (full text, mbox):

From: Tak Ota <takaaki.ota <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 62792-done <at> debbugs.gnu.org
Subject: Re: bug#62792: Emacs 29.0.90 build fails
Date: Thu, 13 Apr 2023 09:17:53 -0700
[Message part 1 (text/plain, inline)]
Sounds good.  Thank you.

-Tak

On Wed, Apr 12, 2023 at 10:19 PM Eli Zaretskii <eliz <at> gnu.org> wrote:

> > From: Tak Ota <takaaki.ota <at> gmail.com>
> > Date: Wed, 12 Apr 2023 12:54:45 -0700
> > Cc: 62792 <at> debbugs.gnu.org
> >
> > Yes, this patch averts the error.  Thank you.
>
> Thanks, I've now installed this on the emacs-29 branch, and I'm
> closing the bug.
>
[Message part 2 (text/html, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 12 May 2023 11:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 40 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.