qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1826172] [NEW] Compilation on MSYS2/MinGW-w64 fails wi


From: Gwendolyn Haller
Subject: [Qemu-devel] [Bug 1826172] [NEW] Compilation on MSYS2/MinGW-w64 fails with error: "__USE_MINGW_ANSI_STDIO" redefined
Date: Wed, 24 Apr 2019 09:45:13 -0000

Public bug reported:

Compilation against GIT master fails at the following step:

  CC      qga/commands.o
In file included from qga/commands.c:13:
C:/Tempy-chan/qemu/include/qemu/osdep.h:97: error: "__USE_MINGW_ANSI_STDIO" 
redefined [-Werror]
 #define __USE_MINGW_ANSI_STDIO 1

In file included from C:/msys64/mingw64/x86_64-w64-mingw32/include/vadefs.h:9,
                 from 
C:/msys64/mingw64/x86_64-w64-mingw32/include/_mingw_stdarg.h:14,
                 from C:/msys64/mingw64/x86_64-w64-mingw32/include/stdarg.h:140,
                 from 
C:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/8.3.0/include/stdarg.h:1,
                 from C:/Tempy-chan/qemu/include/qemu/osdep.h:88,
                 from qga/commands.c:13:
C:/msys64/mingw64/x86_64-w64-mingw32/include/_mingw.h:431: note: this is the 
location of the previous definition
 #define __USE_MINGW_ANSI_STDIO 0      /* was not defined so it should be 0 */

cc1.exe: all warnings being treated as errors
make: *** [/c/Tempy-chan/qemu/rules.mak:69: qga/commands.o] Error 1

Passing --extra-cflags="-D__USE_MINGW_ANSI_STDIO" to configure resolves
the error. Digging deeper in x86_64-w64-mingw32/include/_mingw.h, it
looks like __USE_MINGW_ANSI_STDIO is only defined for _GNU_SOURCE in C++
compilation. With C only code it's ignored and doesn't define
__USE_MINGW_ANSI_STDIO as expected:

/* We are activating __USE_MINGW_ANSI_STDIO for various define indicators.
   Note that we enable it also for _GNU_SOURCE in C++, but not for C case. */
#if (defined (_POSIX) || defined (_POSIX_SOURCE) || defined (_POSIX_C_SOURCE) \
     || defined (_ISOC99_SOURCE) \
     || defined (_XOPEN_SOURCE) || defined (_XOPEN_SOURCE_EXTENDED) \
     || (defined (_GNU_SOURCE) && defined (__cplusplus)) \
     || defined (_SVID_SOURCE)) \
    && !defined(__USE_MINGW_ANSI_STDIO)
/* Enable __USE_MINGW_ANSI_STDIO if _POSIX defined
 * and If user did _not_ specify it explicitly... */
#  define __USE_MINGW_ANSI_STDIO                        1
#endif

** Affects: qemu
     Importance: Undecided
         Status: New

** Description changed:

- Compilation against latest GIT version fails at the following step:
+ Compilation against GIT master fails at the following step:
  
-   CC      qga/commands.o
+   CC      qga/commands.o
  In file included from qga/commands.c:13:
  C:/Tempy-chan/qemu/include/qemu/osdep.h:97: error: "__USE_MINGW_ANSI_STDIO" 
redefined [-Werror]
-  #define __USE_MINGW_ANSI_STDIO 1
+  #define __USE_MINGW_ANSI_STDIO 1
  
  In file included from C:/msys64/mingw64/x86_64-w64-mingw32/include/vadefs.h:9,
-                  from 
C:/msys64/mingw64/x86_64-w64-mingw32/include/_mingw_stdarg.h:14,
-                  from 
C:/msys64/mingw64/x86_64-w64-mingw32/include/stdarg.h:140,
-                  from 
C:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/8.3.0/include/stdarg.h:1,
-                  from C:/Tempy-chan/qemu/include/qemu/osdep.h:88,
-                  from qga/commands.c:13:
+                  from 
C:/msys64/mingw64/x86_64-w64-mingw32/include/_mingw_stdarg.h:14,
+                  from 
C:/msys64/mingw64/x86_64-w64-mingw32/include/stdarg.h:140,
+                  from 
C:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/8.3.0/include/stdarg.h:1,
+                  from C:/Tempy-chan/qemu/include/qemu/osdep.h:88,
+                  from qga/commands.c:13:
  C:/msys64/mingw64/x86_64-w64-mingw32/include/_mingw.h:431: note: this is the 
location of the previous definition
-  #define __USE_MINGW_ANSI_STDIO 0      /* was not defined so it should be 0 */
+  #define __USE_MINGW_ANSI_STDIO 0      /* was not defined so it should be 0 */
  
  cc1.exe: all warnings being treated as errors
  make: *** [/c/Tempy-chan/qemu/rules.mak:69: qga/commands.o] Error 1
  
  Passing --extra-cflags="-D__USE_MINGW_ANSI_STDIO" to configure resolves
  the error. Digging deeper in x86_64-w64-mingw32/include/_mingw.h, it
  looks like __USE_MINGW_ANSI_STDIO is only defined for _GNU_SOURCE in C++
  compilation. With C only code it's ignored and doesn't define
  __USE_MINGW_ANSI_STDIO as expected:
  
  /* We are activating __USE_MINGW_ANSI_STDIO for various define indicators.
-    Note that we enable it also for _GNU_SOURCE in C++, but not for C case. */
+    Note that we enable it also for _GNU_SOURCE in C++, but not for C case. */
  #if (defined (_POSIX) || defined (_POSIX_SOURCE) || defined (_POSIX_C_SOURCE) 
\
-      || defined (_ISOC99_SOURCE) \
-      || defined (_XOPEN_SOURCE) || defined (_XOPEN_SOURCE_EXTENDED) \
-      || (defined (_GNU_SOURCE) && defined (__cplusplus)) \
-      || defined (_SVID_SOURCE)) \
-     && !defined(__USE_MINGW_ANSI_STDIO)
+      || defined (_ISOC99_SOURCE) \
+      || defined (_XOPEN_SOURCE) || defined (_XOPEN_SOURCE_EXTENDED) \
+      || (defined (_GNU_SOURCE) && defined (__cplusplus)) \
+      || defined (_SVID_SOURCE)) \
+     && !defined(__USE_MINGW_ANSI_STDIO)
  /* Enable __USE_MINGW_ANSI_STDIO if _POSIX defined
-  * and If user did _not_ specify it explicitly... */
+  * and If user did _not_ specify it explicitly... */
  #  define __USE_MINGW_ANSI_STDIO                      1
  #endif

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1826172

Title:
  Compilation on MSYS2/MinGW-w64 fails with error:
  "__USE_MINGW_ANSI_STDIO" redefined

Status in QEMU:
  New

Bug description:
  Compilation against GIT master fails at the following step:

    CC      qga/commands.o
  In file included from qga/commands.c:13:
  C:/Tempy-chan/qemu/include/qemu/osdep.h:97: error: "__USE_MINGW_ANSI_STDIO" 
redefined [-Werror]
   #define __USE_MINGW_ANSI_STDIO 1

  In file included from C:/msys64/mingw64/x86_64-w64-mingw32/include/vadefs.h:9,
                   from 
C:/msys64/mingw64/x86_64-w64-mingw32/include/_mingw_stdarg.h:14,
                   from 
C:/msys64/mingw64/x86_64-w64-mingw32/include/stdarg.h:140,
                   from 
C:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/8.3.0/include/stdarg.h:1,
                   from C:/Tempy-chan/qemu/include/qemu/osdep.h:88,
                   from qga/commands.c:13:
  C:/msys64/mingw64/x86_64-w64-mingw32/include/_mingw.h:431: note: this is the 
location of the previous definition
   #define __USE_MINGW_ANSI_STDIO 0      /* was not defined so it should be 0 */

  cc1.exe: all warnings being treated as errors
  make: *** [/c/Tempy-chan/qemu/rules.mak:69: qga/commands.o] Error 1

  Passing --extra-cflags="-D__USE_MINGW_ANSI_STDIO" to configure
  resolves the error. Digging deeper in
  x86_64-w64-mingw32/include/_mingw.h, it looks like
  __USE_MINGW_ANSI_STDIO is only defined for _GNU_SOURCE in C++
  compilation. With C only code it's ignored and doesn't define
  __USE_MINGW_ANSI_STDIO as expected:

  /* We are activating __USE_MINGW_ANSI_STDIO for various define indicators.
     Note that we enable it also for _GNU_SOURCE in C++, but not for C case. */
  #if (defined (_POSIX) || defined (_POSIX_SOURCE) || defined (_POSIX_C_SOURCE) 
\
       || defined (_ISOC99_SOURCE) \
       || defined (_XOPEN_SOURCE) || defined (_XOPEN_SOURCE_EXTENDED) \
       || (defined (_GNU_SOURCE) && defined (__cplusplus)) \
       || defined (_SVID_SOURCE)) \
      && !defined(__USE_MINGW_ANSI_STDIO)
  /* Enable __USE_MINGW_ANSI_STDIO if _POSIX defined
   * and If user did _not_ specify it explicitly... */
  #  define __USE_MINGW_ANSI_STDIO                      1
  #endif

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1826172/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]