GNU bug report logs - #35410
27.0.50; 32-bit build of master failing with MSYS2

Previous Next

Package: emacs;

Reported by: martin rudalics <rudalics <at> gmx.at>

Date: Wed, 24 Apr 2019 07:33:02 UTC

Severity: normal

Found in version 27.0.50

Done: martin rudalics <rudalics <at> gmx.at>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: martin rudalics <rudalics <at> gmx.at>
To: 35410 <at> debbugs.gnu.org
Subject: bug#35410: 27.0.50; 32-bit build of master failing with MSYS2
Date: Wed, 24 Apr 2019 09:28:50 +0200
Trying a 32-bit MSYS2 build of master on Windows 10 configured with
CFLAGS='-O3' gets me here:

w32.o:w32.c:(.text+0xa29f): undefined reference to `_imp___futime32'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [Makefile:643: temacs.exe] Fehler 1
make[1]: Verzeichnis „/c/emacs/trunk/opt-32/src“ wird verlassen
make: *** [Makefile:423: src] Fehler 2

A build configured with CFLAGS='-O0 -g3' proceeds without problems.
The 32-builds use gcc 7.4.0.  64-bit builds with the same options
proceed without problems using gcc 8.3.0.

A workaround here is to add a check to mingw_time.h like

/* The @#$%^&! MinGW developers stopped updating the values of
   __MINGW32_VERSION, __MINGW32_MAJOR_VERSION, and
   __MINGW32_MINOR_VERSION values in v4.x of the runtime, to
   "discourage its uses".  So the values of those macros can no longer
   be trusted, and we need the workaround below, to have a single set
   of macros we can trust.  (The .17 minor version is arbitrary.)  */
#ifdef __MINGW32__
#include <_mingw.h>
# ifndef __CRT__NO_INLINE
#  define __CRT__NO_INLINE
# endif
#endif

martin





This bug report was last modified 5 years and 286 days ago.

Previous Next


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