[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
- [Qemu-devel] [Bug 1826172] [NEW] Compilation on MSYS2/MinGW-w64 fails with error: "__USE_MINGW_ANSI_STDIO" redefined,
Gwendolyn Haller <=