Skip to contentSkip to conversation

Document intent for supported build platforms and bump min glib to 2.42

PATCH Applied Daniel P. Berrangé 8 participants 24 messages May 4, 2018 – May 14, 2018

lore
Share & tools
lore
#0 lore raw

cover Document intent for supported build platforms and bump min glib to 2.42

This short series is a followup the discussions around min glib version when Olaf found we had accidentally increased the min glib by using a newer function:

https://lists.gnu.org/archive/html/qemu-devel/2018-04/msg02699.html

Some key points from that thread

- Although we have a docker job that tries to test the min glib version is adhered to, that's only run post-build, not by Peter's merge tests, nor by patchew.

- The docker min glib test failed to detect the problem anyway because RHEL had backported the symbol in question.

- The docker min glib test only builds with certain configure options so isn't foolproof.

- The modern distros we implicitly care about have way newer glib

    than 2.22

- Peter's OS-X build host previously had 2.22, but after switching from fink to homebrew now has 2.56

- I suggested following libvirt's lead in writing a policy for how we pick supported OS targets to inform maintainers when min versions can be increased.

This series writes such a document largely based on one I wrote for libvirt with a few changes, largely around OS-X and *BSD. Note it is not meant to be an exhaustive list of distros we'll build on, rather a representative selection, so that we can identify the range of 3rd party library versions we need to care about. So if your favourite distro is missing, dont be alarmed, as it probably ships similar vintage software to one of those listed - if not feel free to suggest additions.

Based on that doc and https://repology.org/metapackage/glib/versions,
I identified that we could feasibly set min glib to 2.42. Note that this would be dropping RHEL-6 as a build host (RHEL-6.0 came out in 2010 so that's reasonable to drop IMHO). It would still cover 2 major Debian versions and 2 most recent Ubuntu LTS (16.04, 18.04, but *not* 14.04). This min glib lets us remove almost all our compat code.

Most interestingly, thanks tothe new min version being greater than 2.32, we can now use GLIB_VERSION_MAX_ALLOWED to validate the correct API usage according to our min version:

https://developer.gnome.org/glib/stable/glib-Version-Information.html#GLIB-VERSION-MAX-ALLOWED:CAPS

This means that *all* our CI jobs & developer builds will be enforcing the min version, so means very many more conditionally built features will get their build validated against min glib version. This would do a much better job of catching mistakes than our min-glib docker job, making that obsolete.

Daniel P. Berrangé (3):
qemu-doc: provide details of supported build platforms
glib: bump min required glib library version to 2.42
glib: enforce the minimum required version and warn about old APIs

 configure               |   6 +-
 include/glib-compat.h   | 362 ++++++------------------------------------------
 qemu-doc.texi           |  68 +++++++++
 tests/test-qmp-event.c  |   2 +-
 tests/tpm-emu.h         |   4 +-
 tests/vhost-user-test.c |   4 +-
 trace/simple.c          |   6 +-
 7 files changed, 123 insertions(+), 329 deletions(-)
Signature · 1 line
2.14.3
#1 lore raw

PATCH 1/3 qemu-doc: provide details of supported build platforms

Describe the policy the project uses to decide which OS are supported as build platforms. This will:

- Allow maintainers to determine when the minimum version of a 3rd party piece of software can be increased without negatively impacting supported platforms.

- Allow tailoring of CI environments to match the intended supported build platforms.

---
 qemu-doc.texi | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)
qemu-doc.texi +68 -0
index 5813d27615..d44b778764 100644
@@ -39,6 +39,7 @@
 * QEMU User space emulator::
 * Implementation notes::
 * Deprecated features::
+* Supported build platforms::
 * License::
 * Index::
 @end menu
@@ -2976,6 +2977,73 @@ The ``xlnx-zcu102'' machine has the same features and capabilites in QEMU.
 In order to prevent QEMU from automatically opening an image's backing
 chain, use ``"backing": null'' instead.
 
+@node Supported build platforms
+@appendix Supported build platforms
+
+QEMU aims to support building and executing on multiple host OS platforms.
+This appendix outlines which platforms are the major build targets. These
+platforms are used as the basis for deciding upon the minimum required
+versions of 3rd party software QEMU depends on. The supported platforms
+are the targets for automated testing performed by the project when patches
+are submitted for review, and tested before and after merge.
+
+If a platform is not listed here, it does not imply that QEMU won't work.
+If an unlisted platform has comparable software versions to a listed platform,
+there is every expectation that it will work. Bug reports are welcome for
+problems encountered on unlisted platforms unless they are clearly older
+vintage than what is described here.
+
+Note that when considering software versions shipped in distros as support
+targets, QEMU considers only the version number, and assumes the features in
+that distro match the upstream release with the same version. In other words,
+if a distro backports extra features to the software in their distro, QEMU
+upstream code will not add explicit support for those backports, unless the
+feature is auto-detectable in a manner that works for the upstream releases
+too.
+
+The Repology site @url{https://repology.org} is a useful resource to identify
+currently shipped versions of software in various operating systems, though
+it does not cover all distros listed below.
+
+@section Linux OS
+
+For distributions with frequent, short-lifetime releases, the project will
+aim to support all versions that are not end of life by their respective
+vendors. For the purposes of identifying supported software versions, the
+project will look at Fedora, Ubuntu, and openSUSE distros. Other short-
+lifetime distros will be assumed to ship similar software versions.
+
+For distributions with long-lifetime releases, the project will aim to support
+the most recent major version at all times. Support for the previous major
+version will be dropped 2 years after the new major version is released. For
+the purposes of identifying supported software versions, the project will look
+at RHEL, Debian, Ubuntu LTS, and SLES distros. Other long-lifetime distros will
+be assumed to ship similar software versions.
+
+@section Windows
+
+The project supports building with current versions of the MinGW toolchain,
+hosted on Linux.
+
+@section macOS
+
+The project supports building with the two most recent versions of macOS, with
+the current homebrew package set available.
+
+@section FreeBSD
+
+The project aims to support the all the versions which are not end of life.
+
+@section NetBSD
+
+The project aims to support the most recent major version at all times. Support
+for the previous major version will be dropped 2 years after the new major
+version is released.
+
+@section OpenBSD
+
+The project aims to support the all the versions which are not end of life.
+
 @node License
 @appendix License
 
Signature · 1 line
2.14.3
#2 lore raw

PATCH 2/3 glib: bump min required glib library version to 2.42

In reply to Daniel P. Berrangé

Per supported platforms doc, the various min glib on relevant distros is:

RHEL-7: 2.50.3
Debian (Stretch): 2.50.3
Debian (Jessie): 2.42.1
OpenBSD (Ports): 2.54.3
FreeBSD (Ports): 2.50.3
OpenSUSE Leap 15: 2.54.3
Ubuntu (Xenial): 2.48.0
macOS (Homebrew): 2.56.0

This suggests that a minimum glib of 2.42 is a reasonable target

---
 configure               |   6 +-
 include/glib-compat.h   | 319 ------------------------------------------------
 tests/test-qmp-event.c  |   2 +-
 tests/tpm-emu.h         |   4 +-
 tests/vhost-user-test.c |   4 +-
 trace/simple.c          |   6 +-
 6 files changed, 9 insertions(+), 332 deletions(-)
configure +1 -5
index 1443422e83..e5d2f625a7 100755
@@ -3392,11 +3392,7 @@ fi
 ##########################################
 # glib support probe
 
-if test "$mingw32" = yes; then
-    glib_req_ver=2.30
-else
-    glib_req_ver=2.22
-fi
+glib_req_ver=2.42
 glib_modules=gthread-2.0
 if test "$modules" = yes; then
     glib_modules="$glib_modules gmodule-export-2.0"
include/glib-compat.h +0 -319

335 lines not on this page · raw message

tests/test-qmp-event.c +1 -1
index bb1036615f..963fe47ce3 100644
@@ -32,7 +32,7 @@ typedef struct QDictCmpData {
 } QDictCmpData;
 
 TestEventData *test_event_data;
-static CompatGMutex test_event_lock;
+static GMutex test_event_lock;
 
 /* Only compares bool, int, string */
 static
tests/tpm-emu.h +2 -2
index ef4bfa8800..08f902485e 100644
@@ -24,8 +24,8 @@ struct tpm_hdr {
 } QEMU_PACKED;
 
 typedef struct TestState {
-    CompatGMutex data_mutex;
-    CompatGCond data_cond;
+    GMutex data_mutex;
+    GCond data_cond;
     SocketAddress *addr;
     QIOChannel *tpm_ioc;
     GThread *emu_tpm_thread;
tests/vhost-user-test.c +2 -2
index 61d997253c..b4bc38acc0 100644
@@ -150,8 +150,8 @@ typedef struct TestServer {
     int fds_num;
     int fds[VHOST_MEMORY_MAX_NREGIONS];
     VhostUserMemory memory;
-    CompatGMutex data_mutex;
-    CompatGCond data_cond;
+    GMutex data_mutex;
+    GCond data_cond;
     int log_fd;
     uint64_t rings;
     bool test_fail;
trace/simple.c +3 -3
index e82018d923..65e558126d 100644
@@ -36,9 +36,9 @@
  * Trace records are written out by a dedicated thread.  The thread waits for
  * records to become available, writes them out, and then waits again.
  */
-static CompatGMutex trace_lock;
-static CompatGCond trace_available_cond;
-static CompatGCond trace_empty_cond;
+static GMuttex trace_lock;
+static GCond trace_available_cond;
+static GCond trace_empty_cond;
 
 static bool trace_available;
 static bool trace_writeout_enabled;
Signature · 1 line
2.14.3
#3 lore raw

Re: [Qemu-devel] [PATCH 2/3] glib: bump min required glib library version to 2.42

Quoted 11 lines · Daniel P. Berrangé

Per supported platforms doc, the various min glib on relevant distros is:

   RHEL-7: 2.50.3
   Debian (Stretch): 2.50.3
   Debian (Jessie): 2.42.1
   OpenBSD (Ports): 2.54.3
   FreeBSD (Ports): 2.50.3
   OpenSUSE Leap 15: 2.54.3
   Ubuntu (Xenial): 2.48.0
   macOS (Homebrew): 2.56.0

Worth listing mingw in this list (at least the cross-compile environment that docker tests from Fedora)?

Quoted 7 lines

This suggests that a minimum glib of 2.42 is a reasonable target

---

+++ b/trace/simple.c

trace/simple.c line 39

Quoted 7 lines
trace/simple.c +1 -3
@@ -36,9 +36,9 @@
   * Trace records are written out by a dedicated thread.  The thread waits for
   * records to become available, writes them out, and then waits again.
   */
-static CompatGMutex trace_lock;
-static CompatGCond trace_available_cond;
-static CompatGCond trace_empty_cond;
+static GMuttex trace_lock;

As pointed out by patchew, this is a typo.

Signature · 3 lines
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org
#4 lore raw

PATCH 3/3 glib: enforce the minimum required version and warn about old APIs

In reply to Daniel P. Berrangé

There are two useful macros that can be defined before including glib.h that are related to the min required glib version

- GLIB_VERSION_MIN_REQUIRED

When this is defined, if code uses an API that was deprecated in this version, or older, a compiler warning will be emitted. This alerts maintainers to update their code to whatever new replacement API is now recommended best practice.

- GLIB_VERSION_MAX_ALLOWED

When this is defined, if code uses an API that was introduced in a version that is newer than the declared version, a compiler warning will be emitted. This alerts maintainers if new code accidentally uses functionality that won't be available on some supported platforms.

The GLIB_VERSION_MAX_ALLOWED constant makes it a bit harder to opt in to using specific new APIs with a GLIB_CHECK_VERSION conditional. To workaround this Pragmas can be used to temporarily turn off the -Wdeprecated-declarations compiler warning, while a static inline compat function is implemented. Nothing needs that at this time, so just illustrate it in a comment for benefit of future changes.

---
 include/glib-compat.h | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)
include/glib-compat.h +49 -0
index 3b340ab33c..d066f6d257 100644
@@ -16,8 +16,57 @@
 #ifndef QEMU_GLIB_COMPAT_H
 #define QEMU_GLIB_COMPAT_H
 
+/* Ask for warnings for anything that was marked deprecated in
+ * the defined version, or before. It is a candidate for rewrite.
+ */
+#define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_42
+
+/* Ask for warnings if code tries to use function that did not
+ * exist in the defined version. These risk breaking builds
+ */
+#define GLIB_VERSION_MAX_ALLOWED GLIB_VERSION_2_42
+
 #include <glib.h>
 
+/*
+ * Note that because of the GLIB_VERSION_MAX_ALLOWED constant
+ * above, allowing use of functions from newer GLib via this
+ * compat header needs a little trickery to prevent warnings
+ * being emitted.
+ *
+ * Consider a function from newer glib-X.Y that we want to use
+ *
+ *    int g_foo(const char *wibble)
+ *
+ * We must define a static inline function with the same
+ * signature that does what we need, but with a "_qemu"
+ * suffix eg
+ *
+ * _Pragma("GCC diagnostic push")
+ * _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
+ * static inline void g_foo_qemu(const char *wibble)
+ * {
+ *     #if GLIB_CHECK_VERSION(X, Y, 0)
+ *        g_foo(wibble)
+ *     #else
+ *        g_something_equivalent_in_older_glib(wibble);
+ *     #endif
+ * }
+ * _Pragma("GCC diagnostic pop")
+ *
+ * The Pragma calls turn off -Wdeprecated-declarations,
+ * ensuring this wrapper function impl doesn't trigger the
+ * compiler warning about using too new glib APIs. Finally
+ * we can do
+ *
+ *   #define g_foo(a) g_foo_qemu(a)
+ *
+ * So now the code elsewhere in QEMU, which *does* have the
+ * -Wdeprecated-declarations warning active, can call
+ * g_foo(...) as normal, without generating warnings.
+ */
+
+
 #if defined(_WIN32) && !GLIB_CHECK_VERSION(2, 50, 0)
 /*
  * g_poll has a problem on Windows when using
Signature · 1 line
2.14.3
#5 lore raw

Re: [Qemu-devel] [PATCH 3/3] glib: enforce the minimum required version and warn about old APIs

Quoted 18 lines · Daniel P. Berrangé

There are two useful macros that can be defined before including glib.h that are related to the min required glib version

- GLIB_VERSION_MIN_REQUIRED

When this is defined, if code uses an API that was deprecated in this version, or older, a compiler warning will be emitted. This alerts maintainers to update their code to whatever new replacement API is now recommended best practice.

- GLIB_VERSION_MAX_ALLOWED

When this is defined, if code uses an API that was introduced in a version that is newer than the declared version, a compiler warning will be emitted. This alerts maintainers if new code accidentally uses functionality that won't be available on some supported platforms.

Quoted 6 lines

The GLIB_VERSION_MAX_ALLOWED constant makes it a bit harder to opt in to using specific new APIs with a GLIB_CHECK_VERSION conditional. To workaround this Pragmas can be used to temporarily turn off the -Wdeprecated-declarations compiler warning, while a static inline compat function is implemented. Nothing needs that at this time, so just illustrate it in a comment for benefit of future changes.

Unfortunately there is one need, and it's a bug in glib itself:

In file included from /usr/lib64/glib-2.0/include/glibconfig.h:9:0,

                 from /usr/include/glib-2.0/glib/gtypes.h:32,
                 from /usr/include/glib-2.0/glib/galloca.h:32,
                 from /usr/include/glib-2.0/glib.h:30,
                 from /home/pbonzini/work/upstream/qemu/include/glib-compat.h:29,
                 from /home/pbonzini/work/upstream/qemu/include/qemu/osdep.h:107,
                 from /home/pbonzini/work/upstream/qemu/disas/arm-a64.cc:21:
/usr/include/glib-2.0/glib/glib-autocleanups.h: In function ‘void glib_autoptr_cleanup_GOptionGroup(GOptionGroup**)’:
/usr/include/glib-2.0/glib/glib-autocleanups.h:63:45: error: ‘void g_option_group_unref(GOptionGroup*)’ is deprecated (declared at /usr/include/glib-2.0/glib/goption.h:372): Not available before 2.44 [-Werror=deprecated-declarations]
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GOptionGroup, g_option_group_unref)
                                             ^
/usr/include/glib-2.0/glib/gmacros.h:444:88: note: in definition of macro ‘G_DEFINE_AUTOPTR_CLEANUP_FUNC’
   static inline void _GLIB_AUTOPTR_FUNC_NAME(TypeName) (TypeName **_ptr) { if (*_ptr) (func) (*_ptr); }         \
                                                                                        ^
/usr/include/glib-2.0/glib/gmacros.h:444:100: error: ‘void g_option_group_unref(GOptionGroup*)’ is deprecated (declared at /usr/include/glib-2.0/glib/goption.h:372): Not available before 2.44 [-Werror=deprecated-declarations]
   static inline void _GLIB_AUTOPTR_FUNC_NAME(TypeName) (TypeName **_ptr) { if (*_ptr) (func) (*_ptr); }         \
                                                                                                    ^

/usr/include/glib-2.0/glib/glib-autocleanups.h:63:1: note: in expansion of macro ‘G_DEFINE_AUTOPTR_CLEANUP_FUNC’
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GOptionGroup, g_option_group_unref)

(This is RHEL7 glib2-2.50.3-3.el7.x86_64).

Luckily you suggested the solution yourself---this seems to work:

include/glib-compat.h +7 -7
index d066f6d..ef07489 100644
@@ -26,6 +26,8 @@
  */
 #define GLIB_VERSION_MAX_ALLOWED GLIB_VERSION_2_42
 
+_Pragma("GCC diagnostic push")
+_Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
 #include <glib.h>
 
 /*
@@ -42,8 +44,6 @@
  * signature that does what we need, but with a "_qemu"
  * suffix eg
  *
- * _Pragma("GCC diagnostic push")
- * _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
  * static inline void g_foo_qemu(const char *wibble)
  * {
  *     #if GLIB_CHECK_VERSION(X, Y, 0)
@@ -52,12 +52,10 @@
  *        g_something_equivalent_in_older_glib(wibble);
  *     #endif
  * }
- * _Pragma("GCC diagnostic pop")
  *
- * The Pragma calls turn off -Wdeprecated-declarations,
- * ensuring this wrapper function impl doesn't trigger the
- * compiler warning about using too new glib APIs. Finally
- * we can do
+ * The _Pragma at the top of this file turns off -Wdeprecated-declarations,
+ * ensuring this wrapper function impl doesn't trigger the compiler warning
+ * about using too new glib APIs. Finally we can do
  *
  *   #define g_foo(a) g_foo_qemu(a)
  *
@@ -94,4 +92,6 @@ gint g_poll_fixed(GPollFD *fds, guint nfds, gint timeout);
     } while (0)
 #endif
 
+_Pragma("GCC diagnostic pop")
+
 #endif

I'll give it a shot on clang too.

Paolo

#6 lore raw

Re: [Qemu-devel] [PATCH 3/3] glib: enforce the minimum required version and warn about old APIs

Quoted 98 lines · Paolo Bonzini
Quoted 18 lines · Daniel P. Berrangé

There are two useful macros that can be defined before including glib.h that are related to the min required glib version

- GLIB_VERSION_MIN_REQUIRED

When this is defined, if code uses an API that was deprecated in this version, or older, a compiler warning will be emitted. This alerts maintainers to update their code to whatever new replacement API is now recommended best practice.

- GLIB_VERSION_MAX_ALLOWED

When this is defined, if code uses an API that was introduced in a version that is newer than the declared version, a compiler warning will be emitted. This alerts maintainers if new code accidentally uses functionality that won't be available on some supported platforms.

Quoted 6 lines

The GLIB_VERSION_MAX_ALLOWED constant makes it a bit harder to opt in to using specific new APIs with a GLIB_CHECK_VERSION conditional. To workaround this Pragmas can be used to temporarily turn off the -Wdeprecated-declarations compiler warning, while a static inline compat function is implemented. Nothing needs that at this time, so just illustrate it in a comment for benefit of future changes.

Unfortunately there is one need, and it's a bug in glib itself:

In file included from /usr/lib64/glib-2.0/include/glibconfig.h:9:0,

                 from /usr/include/glib-2.0/glib/gtypes.h:32,
                 from /usr/include/glib-2.0/glib/galloca.h:32,
                 from /usr/include/glib-2.0/glib.h:30,
                 from /home/pbonzini/work/upstream/qemu/include/glib-compat.h:29,
                 from /home/pbonzini/work/upstream/qemu/include/qemu/osdep.h:107,
                 from /home/pbonzini/work/upstream/qemu/disas/arm-a64.cc:21:
/usr/include/glib-2.0/glib/glib-autocleanups.h: In function ‘void glib_autoptr_cleanup_GOptionGroup(GOptionGroup**)’:
/usr/include/glib-2.0/glib/glib-autocleanups.h:63:45: error: ‘void g_option_group_unref(GOptionGroup*)’ is deprecated (declared at /usr/include/glib-2.0/glib/goption.h:372): Not available before 2.44 [-Werror=deprecated-declarations]
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GOptionGroup, g_option_group_unref)
                                             ^
/usr/include/glib-2.0/glib/gmacros.h:444:88: note: in definition of macro ‘G_DEFINE_AUTOPTR_CLEANUP_FUNC’
   static inline void _GLIB_AUTOPTR_FUNC_NAME(TypeName) (TypeName **_ptr) { if (*_ptr) (func) (*_ptr); }         \
                                                                                        ^
/usr/include/glib-2.0/glib/gmacros.h:444:100: error: ‘void g_option_group_unref(GOptionGroup*)’ is deprecated (declared at /usr/include/glib-2.0/glib/goption.h:372): Not available before 2.44 [-Werror=deprecated-declarations]
   static inline void _GLIB_AUTOPTR_FUNC_NAME(TypeName) (TypeName **_ptr) { if (*_ptr) (func) (*_ptr); }         \
                                                                                                    ^

/usr/include/glib-2.0/glib/glib-autocleanups.h:63:1: note: in expansion of macro ‘G_DEFINE_AUTOPTR_CLEANUP_FUNC’
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GOptionGroup, g_option_group_unref)

(This is RHEL7 glib2-2.50.3-3.el7.x86_64).

Luckily you suggested the solution yourself---this seems to work:

include/glib-compat.h +7 -7
index d066f6d..ef07489 100644
@@ -26,6 +26,8 @@
  */
 #define GLIB_VERSION_MAX_ALLOWED GLIB_VERSION_2_42
 
+_Pragma("GCC diagnostic push")
+_Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
 #include <glib.h>
 
 /*
@@ -42,8 +44,6 @@
  * signature that does what we need, but with a "_qemu"
  * suffix eg
  *
- * _Pragma("GCC diagnostic push")
- * _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
  * static inline void g_foo_qemu(const char *wibble)
  * {
  *     #if GLIB_CHECK_VERSION(X, Y, 0)
@@ -52,12 +52,10 @@
  *        g_something_equivalent_in_older_glib(wibble);
  *     #endif
  * }
- * _Pragma("GCC diagnostic pop")
  *
- * The Pragma calls turn off -Wdeprecated-declarations,
- * ensuring this wrapper function impl doesn't trigger the
- * compiler warning about using too new glib APIs. Finally
- * we can do
+ * The _Pragma at the top of this file turns off -Wdeprecated-declarations,
+ * ensuring this wrapper function impl doesn't trigger the compiler warning
+ * about using too new glib APIs. Finally we can do
  *
  *   #define g_foo(a) g_foo_qemu(a)
  *
@@ -94,4 +92,6 @@ gint g_poll_fixed(GPollFD *fds, guint nfds, gint timeout);
     } while (0)
 #endif
 
+_Pragma("GCC diagnostic pop")
+
 #endif
Quoted 1 line

I'll give it a shot on clang too.

Ok, that change looks fine with me assuming it passes your build tests. In fact that is what I had done in an earlier version.

Regards,
Daniel

Signature · 3 lines
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
#7 lore raw

Re: [Qemu-devel] [PATCH 3/3] glib: enforce the minimum required version and warn about old APIs

Quoted 5 lines · Daniel P. Berrangé

Ok, that change looks fine with me assuming it passes your build tests. In fact that is what I had done in an earlier version.

Regards,
Daniel

Actually there is a use of g_strv_contains in tests/test-qga.c. It is guarded by GLIB_CHECK_VERSION(2, 44, 0) but the right fix should be to include the compatibility function instead.

For now I am dropping this patch.

Paolo

#8 lore raw

Re: [Qemu-devel] [PATCH 3/3] glib: enforce the minimum required version and warn about old APIs

Quoted 4 lines · Paolo Bonzini
Quoted 3 lines · Daniel P. Berrangé

Ok, that change looks fine with me assuming it passes your build tests. In fact that is what I had done in an earlier version.

Quoted 8 lines
Quoted 2 lines

Regards,
Daniel

Actually there is a use of g_strv_contains in tests/test-qga.c. It is guarded by GLIB_CHECK_VERSION(2, 44, 0) but the right fix should be to include the compatibility function instead.

For now I am dropping this patch.

Ok, I'll have a look at that, and re-post an updated patch later. There are a few other uses of GLIB_CHECK_VERSION to be investigated too I see.

Regards,
Daniel

Signature · 3 lines
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
#9 lore raw
In reply to Daniel P. Berrangé
This series failed docker-mingw@fedora build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally.

Hi,

This series failed docker-mingw@fedora build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally.

Type: series
Message-id: [email protected]
Subject: [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42

=== TEST SCRIPT BEGIN ===
#!/bin/bash
set -e
git submodule update --init dtc
# Let docker tests dump environment info
export SHOW_ENV=1
export J=8
time make docker-test-mingw@fedora
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
09f543c810 glib: enforce the minimum required version and warn about old APIs 11cc28ce03 glib: bump min required glib library version to 2.42 a06bb6f0ce qemu-doc: provide details of supported build platforms

=== OUTPUT BEGIN ===
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-b1wef0nk/src/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
BUILD fedora
make[1]: Entering directory '/var/tmp/patchew-tester-tmp-b1wef0nk/src'
GEN /var/tmp/patchew-tester-tmp-b1wef0nk/src/docker-src.2018-05-04-12.33.20.30331/qemu.tar
Cloning into '/var/tmp/patchew-tester-tmp-b1wef0nk/src/docker-src.2018-05-04-12.33.20.30331/qemu.tar.vroot'... done.

Checking out files:  48% (2946/6112)   
Checking out files:  49% (2995/6112)   
Checking out files:  50% (3056/6112)   
Checking out files:  51% (3118/6112)   
Checking out files:  52% (3179/6112)   
Checking out files:  53% (3240/6112)   
Checking out files:  54% (3301/6112)   
Checking out files:  55% (3362/6112)   
Checking out files:  56% (3423/6112)   
Checking out files:  57% (3484/6112)   
Checking out files:  58% (3545/6112)   
Checking out files:  59% (3607/6112)   
Checking out files:  60% (3668/6112)   
Checking out files:  61% (3729/6112)   
Checking out files:  62% (3790/6112)   
Checking out files:  63% (3851/6112)   
Checking out files:  64% (3912/6112)   
Checking out files:  65% (3973/6112)   
Checking out files:  66% (4034/6112)   
Checking out files:  67% (4096/6112)   
Checking out files:  68% (4157/6112)   
Checking out files:  69% (4218/6112)   
Checking out files:  70% (4279/6112)   
Checking out files:  71% (4340/6112)   
Checking out files:  72% (4401/6112)   
Checking out files:  73% (4462/6112)   
Checking out files:  74% (4523/6112)   
Checking out files:  75% (4584/6112)   
Checking out files:  76% (4646/6112)   
Checking out files:  77% (4707/6112)   
Checking out files:  78% (4768/6112)   
Checking out files:  79% (4829/6112)   
Checking out files:  80% (4890/6112)   
Checking out files:  81% (4951/6112)   
Checking out files:  82% (5012/6112)   
Checking out files:  83% (5073/6112)   
Checking out files:  84% (5135/6112)   
Checking out files:  85% (5196/6112)   
Checking out files:  86% (5257/6112)   
Checking out files:  87% (5318/6112)   
Checking out files:  88% (5379/6112)   
Checking out files:  89% (5440/6112)   
Checking out files:  90% (5501/6112)   
Checking out files:  91% (5562/6112)   
Checking out files:  92% (5624/6112)   
Checking out files:  93% (5685/6112)   
Checking out files:  94% (5746/6112)   
Checking out files:  95% (5807/6112)   
Checking out files:  96% (5868/6112)   
Checking out files:  97% (5929/6112)   
Checking out files:  98% (5990/6112)   
Checking out files:  99% (6051/6112)   
Checking out files: 100% (6112/6112)   
Checking out files: 100% (6112/6112), done.

Your branch is up-to-date with 'origin/test'.
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-b1wef0nk/src/docker-src.2018-05-04-12.33.20.30331/qemu.tar.vroot/dtc'... Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb' Cloning into '/var/tmp/patchew-tester-tmp-b1wef0nk/src/docker-src.2018-05-04-12.33.20.30331/qemu.tar.vroot/ui/keycodemapdb'... Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce'
COPY RUNNER
RUN test-mingw in qemu:fedora
Packages installed:
PyYAML-3.12-5.fc27.x86_64
SDL2-devel-2.0.7-2.fc27.x86_64
bc-1.07.1-3.fc27.x86_64
bison-3.0.4-8.fc27.x86_64
bluez-libs-devel-5.48-3.fc27.x86_64
brlapi-devel-0.6.6-8.fc27.x86_64
bzip2-1.0.6-24.fc27.x86_64
bzip2-devel-1.0.6-24.fc27.x86_64
ccache-3.3.6-1.fc27.x86_64
clang-5.0.1-5.fc27.x86_64
device-mapper-multipath-devel-0.7.1-9.git847cc43.fc27.x86_64
findutils-4.6.0-16.fc27.x86_64
flex-2.6.1-5.fc27.x86_64
gcc-7.3.1-5.fc27.x86_64
gcc-c++-7.3.1-5.fc27.x86_64
gettext-0.19.8.1-12.fc27.x86_64
git-2.14.3-3.fc27.x86_64
glib2-devel-2.54.3-2.fc27.x86_64
glusterfs-api-devel-3.12.7-1.fc27.x86_64
gnutls-devel-3.5.18-2.fc27.x86_64
gtk3-devel-3.22.26-2.fc27.x86_64
hostname-3.18-4.fc27.x86_64
libaio-devel-0.3.110-9.fc27.x86_64
libasan-7.3.1-5.fc27.x86_64
libattr-devel-2.4.47-21.fc27.x86_64
libcap-devel-2.25-7.fc27.x86_64
libcap-ng-devel-0.7.8-5.fc27.x86_64
libcurl-devel-7.55.1-10.fc27.x86_64
libfdt-devel-1.4.6-1.fc27.x86_64
libpng-devel-1.6.31-1.fc27.x86_64
librbd-devel-12.2.4-1.fc27.x86_64
libssh2-devel-1.8.0-5.fc27.x86_64
libubsan-7.3.1-5.fc27.x86_64
libusbx-devel-1.0.21-4.fc27.x86_64
libxml2-devel-2.9.7-1.fc27.x86_64
llvm-5.0.1-6.fc27.x86_64
lzo-devel-2.08-11.fc27.x86_64
make-4.2.1-4.fc27.x86_64
mingw32-SDL-1.2.15-9.fc27.noarch
mingw32-bzip2-1.0.6-9.fc27.noarch
mingw32-curl-7.54.1-2.fc27.noarch
mingw32-glib2-2.54.1-1.fc27.noarch
mingw32-gmp-6.1.2-2.fc27.noarch
mingw32-gnutls-3.5.13-2.fc27.noarch
mingw32-gtk2-2.24.31-4.fc27.noarch
mingw32-gtk3-3.22.16-1.fc27.noarch
mingw32-libjpeg-turbo-1.5.1-3.fc27.noarch
mingw32-libpng-1.6.29-2.fc27.noarch
mingw32-libssh2-1.8.0-3.fc27.noarch
mingw32-libtasn1-4.13-1.fc27.noarch
mingw32-nettle-3.3-3.fc27.noarch
mingw32-pixman-0.34.0-3.fc27.noarch
mingw32-pkg-config-0.28-9.fc27.x86_64
mingw64-SDL-1.2.15-9.fc27.noarch
mingw64-bzip2-1.0.6-9.fc27.noarch
mingw64-curl-7.54.1-2.fc27.noarch
mingw64-glib2-2.54.1-1.fc27.noarch
mingw64-gmp-6.1.2-2.fc27.noarch
mingw64-gnutls-3.5.13-2.fc27.noarch
mingw64-gtk2-2.24.31-4.fc27.noarch
mingw64-gtk3-3.22.16-1.fc27.noarch
mingw64-libjpeg-turbo-1.5.1-3.fc27.noarch
mingw64-libpng-1.6.29-2.fc27.noarch
mingw64-libssh2-1.8.0-3.fc27.noarch
mingw64-libtasn1-4.13-1.fc27.noarch
mingw64-nettle-3.3-3.fc27.noarch
mingw64-pixman-0.34.0-3.fc27.noarch
mingw64-pkg-config-0.28-9.fc27.x86_64
ncurses-devel-6.0-13.20170722.fc27.x86_64
nettle-devel-3.4-1.fc27.x86_64
nss-devel-3.36.0-1.0.fc27.x86_64
numactl-devel-2.0.11-5.fc27.x86_64
package libjpeg-devel is not installed
perl-5.26.1-403.fc27.x86_64
pixman-devel-0.34.0-4.fc27.x86_64
python3-3.6.2-13.fc27.x86_64
snappy-devel-1.1.4-5.fc27.x86_64
sparse-0.5.1-2.fc27.x86_64
spice-server-devel-0.14.0-1.fc27.x86_64
systemtap-sdt-devel-3.2-3.fc27.x86_64
tar-1.29-7.fc27.x86_64
usbredir-devel-0.7.1-5.fc27.x86_64
virglrenderer-devel-0.6.0-3.20170210git76b3da97b.fc27.x86_64
vte3-devel-0.36.5-5.fc27.x86_64
which-2.21-4.fc27.x86_64
xen-devel-4.9.1-5.fc27.x86_64
zlib-devel-1.2.11-4.fc27.x86_64

Environment variables:
TARGET_LIST=
PACKAGES=ccache gettext git tar PyYAML sparse flex bison python3 bzip2 hostname gcc gcc-c++ llvm clang make perl which bc findutils glib2-devel libaio-devel pixman-devel zlib-devel libfdt-devel libasan libubsan bluez-libs-devel brlapi-devel bzip2-devel device-mapper-multipath-devel glusterfs-api-devel gnutls-devel gtk3-devel libattr-devel libcap-devel libcap-ng-devel libcurl-devel libjpeg-devel libpng-devel librbd-devel libssh2-devel libusbx-devel libxml2-devel lzo-devel ncurses-devel nettle-devel nss-devel numactl-devel SDL2-devel snappy-devel spice-server-devel systemtap-sdt-devel usbredir-devel virglrenderer-devel vte3-devel xen-devel mingw32-pixman mingw32-glib2 mingw32-gmp mingw32-SDL mingw32-pkg-config mingw32-gtk2 mingw32-gtk3 mingw32-gnutls mingw32-nettle mingw32-libtasn1 mingw32-libjpeg-turbo mingw32-libpng mingw32-curl mingw32-libssh2 mingw32-bzip2 mingw64-pixman mingw64-glib2 mingw64-gmp mingw64-SDL mingw64-pkg-config mingw64-gtk2 mingw64-gtk3 mingw64-gnutls mingw64-nettle mingw64-libtasn1 mingw64-libjpeg-turbo mingw64-libpng mingw64-curl mingw64-libssh2 mingw64-bzip2
J=8
V=
HOSTNAME=7f126d91817a
DEBUG=
SHOW_ENV=1
PWD=/
HOME=/root
CCACHE_DIR=/var/tmp/ccache
DISTTAG=f27container
QEMU_CONFIGURE_OPTS=--python=/usr/bin/python3
FGC=f27
TEST_DIR=/tmp/qemu-test
SHLVL=1
FEATURES=mingw clang pyyaml asan dtc PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin MAKEFLAGS= -j8
EXTRA_CONFIGURE_OPTS=
_=/usr/bin/env

Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/tmp/qemu-test/install --python=/usr/bin/python3 --cross-prefix=x86_64-w64-mingw32- --enable-trace-backends=simple --enable-gnutls --enable-nettle --enable-curl --enable-vnc --enable-bzip2 --enable-guest-agent --with-sdlabi=1.2 --with-gtkabi=2.0

Install prefix    /tmp/qemu-test/install
BIOS directory    /tmp/qemu-test/install
firmware path     /tmp/qemu-test/install/share/qemu-firmware
binary directory  /tmp/qemu-test/install

library directory /tmp/qemu-test/install/lib
module directory /tmp/qemu-test/install/lib
libexec directory /tmp/qemu-test/install/libexec
include directory /tmp/qemu-test/install/include
config directory /tmp/qemu-test/install
local state directory queried at runtime

Windows SDK       no
Source path       /tmp/qemu-test/src
GIT binary        git
GIT submodules    
C compiler        x86_64-w64-mingw32-gcc
Host C compiler   cc
C++ compiler      x86_64-w64-mingw32-g++
Objective-C compiler clang
ARFLAGS           rv
CFLAGS            -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g 
QEMU_CFLAGS       -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/pixman-1  -I$(SRC_PATH)/dtc/libfdt -Werror -DHAS_LIBSSH2_SFTP_FSYNC -mms-bitfields -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0 -I/usr/x86_64-w64-mingw32/sys-root/mingw/lib/glib-2.0/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include  -m64 -mcx16 -mthreads -D__USE_MINGW_ANSI_STDIO=1 -DWIN32_LEAN_AND_MEAN -DWINVER=0x501 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv  -Wexpansion-to-defined -Wendif-labels -Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/p11-kit-1 -I/usr/x86_64-w64-mingw32/sys-root/mingw/include  -I/usr/x86_64-w64-mingw32/sys-root/mingw/include   -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/libpng16 
LDFLAGS           -Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase -Wl,--warn-common -m64 -g 
make              make
install           install
python            /usr/bin/python3 -B
smbd              /usr/sbin/smbd
module support    no
host CPU          x86_64
host big endian   no
target list       x86_64-softmmu aarch64-softmmu
gprof enabled     no
sparse enabled    no
strip binaries    yes
profiler          no
static build      no
SDL support       yes (1.2.15)
GTK support       yes (2.24.31)
GTK GL support    no
VTE support       no 
TLS priority      NORMAL
GNUTLS support    yes
GNUTLS rnd        yes
libgcrypt         no
libgcrypt kdf     no
nettle            yes (3.3)
nettle kdf        yes
libtasn1          yes
curses support    no
virgl support     no
curl support      yes
mingw32 support   yes
Audio drivers     dsound

Block whitelist (rw)
Block whitelist (ro)
VirtFS support no
Multipath support no

VNC support       yes
VNC SASL support  no
VNC JPEG support  yes
VNC PNG support   yes
xen support       no
brlapi support    no
bluez  support    no
Documentation     no
PIE               no
vde support       no
netmap support    no
Linux AIO support no
ATTR/XATTR support no
Install blobs     yes
KVM support       no
HAX support       yes
HVF support       no
WHPX support      no
TCG support       yes
TCG debug enabled no
TCG interpreter   no
malloc trim support no
RDMA support      no
fdt support       yes
membarrier        no
preadv support    no
fdatasync         no
madvise           no
posix_madvise     no
posix_memalign    no

libcap-ng support no
vhost-net support no
vhost-crypto support no
vhost-scsi support no
vhost-vsock support no
vhost-user support no
Trace backends simple
Trace output file trace-<pid>

spice support     no 
rbd support       no
xfsctl support    no
smartcard support no
libusb            no
usb net redir     no
OpenGL support    no
OpenGL dmabufs    no
libiscsi support  no
libnfs support    no

build guest agent yes
QGA VSS support no
QGA w32 disk info yes
QGA MSI support no
seccomp support no
coroutine backend win32
coroutine pool yes
debug stack usage no
crypto afalg no
GlusterFS support no

gcov              gcov
gcov enabled      no
TPM support       yes
libssh2 support   yes
TPM passthrough   no
TPM emulator      no
QOM debugging     yes
Live block migration yes
lzo support       no
snappy support    no
bzip2 support     yes
NUMA host support no
libxml2           no
tcmalloc support  no
jemalloc support  no

avx2 optimization yes
replication support yes
VxHS block device no
capstone no

WARNING: Use of GTK 2.0 is deprecated and will be removed in
WARNING: future releases. Please switch to using GTK 3.0

WARNING: Use of SDL 1.2 is deprecated and will be removed in
WARNING: future releases. Please switch to using SDL 2.0 mkdir -p dtc/libfdt
mkdir -p dtc/tests

  GEN     x86_64-softmmu/config-devices.mak.tmp
  GEN     config-host.h
  GEN     aarch64-softmmu/config-devices.mak.tmp
  GEN     qemu-options.def
  GEN     qapi-gen
  GEN     trace/generated-tcg-tracers.h
  GEN     trace/generated-helpers-wrappers.h
  GEN     trace/generated-helpers.h
  GEN     trace/generated-helpers.c
  GEN     module_block.h
  GEN     x86_64-softmmu/config-devices.mak
  GEN     ui/input-keymap-atset1-to-qcode.c
  GEN     ui/input-keymap-qcode-to-atset1.c
  GEN     ui/input-keymap-qcode-to-atset2.c
  GEN     ui/input-keymap-linux-to-qcode.c
  GEN     aarch64-softmmu/config-devices.mak
  GEN     ui/input-keymap-qcode-to-atset3.c
  GEN     ui/input-keymap-qcode-to-linux.c
  GEN     ui/input-keymap-qcode-to-qnum.c
  GEN     ui/input-keymap-qcode-to-sun.c
  GEN     ui/input-keymap-qnum-to-qcode.c
  GEN     ui/input-keymap-usb-to-qcode.c
  GEN     ui/input-keymap-win32-to-qcode.c
  GEN     ui/input-keymap-x11-to-qcode.c
  GEN     ui/input-keymap-xorgevdev-to-qcode.c
  GEN     ui/input-keymap-xorgkbd-to-qcode.c
  GEN     ui/input-keymap-xorgxquartz-to-qcode.c
  GEN     ui/input-keymap-xorgxwin-to-qcode.c
  GEN     tests/test-qapi-gen
  GEN     trace-root.h
  GEN     util/trace.h
  GEN     crypto/trace.h
  GEN     io/trace.h
  GEN     migration/trace.h
  GEN     block/trace.h
  GEN     chardev/trace.h
  GEN     hw/block/trace.h
  GEN     hw/block/dataplane/trace.h
  GEN     hw/char/trace.h
  GEN     hw/intc/trace.h
  GEN     hw/net/trace.h
  GEN     hw/rdma/trace.h
  GEN     hw/rdma/vmw/trace.h
  GEN     hw/virtio/trace.h
  GEN     hw/audio/trace.h
  GEN     hw/misc/trace.h
  GEN     hw/misc/macio/trace.h
  GEN     hw/usb/trace.h
  GEN     hw/scsi/trace.h
  GEN     hw/nvram/trace.h
  GEN     hw/display/trace.h
  GEN     hw/input/trace.h
  GEN     hw/timer/trace.h
  GEN     hw/dma/trace.h
  GEN     hw/sparc/trace.h
  GEN     hw/sparc64/trace.h
  GEN     hw/sd/trace.h
  GEN     hw/isa/trace.h
  GEN     hw/mem/trace.h
  GEN     hw/i386/trace.h
  GEN     hw/i386/xen/trace.h
  GEN     hw/9pfs/trace.h
  GEN     hw/ppc/trace.h
  GEN     hw/pci/trace.h
  GEN     hw/pci-host/trace.h
  GEN     hw/s390x/trace.h
  GEN     hw/vfio/trace.h
  GEN     hw/acpi/trace.h
  GEN     hw/arm/trace.h
  GEN     hw/alpha/trace.h
  GEN     hw/hppa/trace.h
  GEN     hw/xen/trace.h
  GEN     hw/ide/trace.h
  GEN     hw/tpm/trace.h
  GEN     ui/trace.h
  GEN     audio/trace.h
  GEN     net/trace.h
  GEN     target/arm/trace.h
  GEN     target/i386/trace.h
  GEN     target/mips/trace.h
  GEN     target/sparc/trace.h
  GEN     target/s390x/trace.h
  GEN     target/ppc/trace.h
  GEN     qom/trace.h
  GEN     linux-user/trace.h
  GEN     qapi/trace.h
  GEN     accel/tcg/trace.h
  GEN     accel/kvm/trace.h
  GEN     nbd/trace.h
  GEN     scsi/trace.h
  GEN     trace-root.c
  GEN     util/trace.c
  GEN     crypto/trace.c
  GEN     io/trace.c
  GEN     migration/trace.c
  GEN     block/trace.c
  GEN     chardev/trace.c
  GEN     hw/block/trace.c
  GEN     hw/block/dataplane/trace.c
  GEN     hw/char/trace.c
  GEN     hw/intc/trace.c
  GEN     hw/net/trace.c
  GEN     hw/rdma/trace.c
  GEN     hw/rdma/vmw/trace.c
  GEN     hw/virtio/trace.c
  GEN     hw/audio/trace.c
  GEN     hw/misc/trace.c
  GEN     hw/misc/macio/trace.c
  GEN     hw/usb/trace.c
  GEN     hw/scsi/trace.c
  GEN     hw/nvram/trace.c
  GEN     hw/display/trace.c
  GEN     hw/input/trace.c
  GEN     hw/timer/trace.c
  GEN     hw/sparc/trace.c
  GEN     hw/dma/trace.c
  GEN     hw/sparc64/trace.c
  GEN     hw/sd/trace.c
  GEN     hw/isa/trace.c
  GEN     hw/mem/trace.c
  GEN     hw/i386/trace.c
  GEN     hw/i386/xen/trace.c
  GEN     hw/9pfs/trace.c
  GEN     hw/ppc/trace.c
  GEN     hw/pci/trace.c
  GEN     hw/pci-host/trace.c
  GEN     hw/s390x/trace.c
  GEN     hw/vfio/trace.c
  GEN     hw/acpi/trace.c
  GEN     hw/arm/trace.c
  GEN     hw/alpha/trace.c
  GEN     hw/hppa/trace.c
  GEN     hw/xen/trace.c
  GEN     hw/ide/trace.c
  GEN     hw/tpm/trace.c
  GEN     ui/trace.c
  GEN     audio/trace.c
  GEN     net/trace.c
  GEN     target/arm/trace.c
  GEN     target/i386/trace.c
  GEN     target/mips/trace.c
  GEN     target/sparc/trace.c
  GEN     target/s390x/trace.c
  GEN     target/ppc/trace.c
  GEN     qom/trace.c
  GEN     linux-user/trace.c
  GEN     qapi/trace.c
  GEN     accel/tcg/trace.c
  GEN     accel/kvm/trace.c
  GEN     nbd/trace.c
  GEN     scsi/trace.c
  GEN     config-all-devices.mak

DEP /tmp/qemu-test/src/dtc/tests/dumptrees.c
DEP /tmp/qemu-test/src/dtc/tests/trees.S
DEP /tmp/qemu-test/src/dtc/tests/testutils.c
DEP /tmp/qemu-test/src/dtc/tests/value-labels.c DEP /tmp/qemu-test/src/dtc/tests/asm_tree_dump.c DEP /tmp/qemu-test/src/dtc/tests/truncated_property.c DEP /tmp/qemu-test/src/dtc/tests/check_path.c
DEP /tmp/qemu-test/src/dtc/tests/overlay_bad_fixup.c DEP /tmp/qemu-test/src/dtc/tests/overlay.c
DEP /tmp/qemu-test/src/dtc/tests/subnode_iterate.c DEP /tmp/qemu-test/src/dtc/tests/property_iterate.c DEP /tmp/qemu-test/src/dtc/tests/integer-expressions.c DEP /tmp/qemu-test/src/dtc/tests/utilfdt_test.c DEP /tmp/qemu-test/src/dtc/tests/path_offset_aliases.c DEP /tmp/qemu-test/src/dtc/tests/add_subnode_with_nops.c DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_unordered.c DEP /tmp/qemu-test/src/dtc/tests/dtb_reverse.c DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_ordered.c DEP /tmp/qemu-test/src/dtc/tests/extra-terminating-null.c DEP /tmp/qemu-test/src/dtc/tests/incbin.c
DEP /tmp/qemu-test/src/dtc/tests/boot-cpuid.c
DEP /tmp/qemu-test/src/dtc/tests/phandle_format.c DEP /tmp/qemu-test/src/dtc/tests/path-references.c DEP /tmp/qemu-test/src/dtc/tests/references.c
DEP /tmp/qemu-test/src/dtc/tests/string_escapes.c DEP /tmp/qemu-test/src/dtc/tests/propname_escapes.c DEP /tmp/qemu-test/src/dtc/tests/appendprop2.c DEP /tmp/qemu-test/src/dtc/tests/appendprop1.c DEP /tmp/qemu-test/src/dtc/tests/del_node.c
DEP /tmp/qemu-test/src/dtc/tests/del_property.c DEP /tmp/qemu-test/src/dtc/tests/setprop.c
DEP /tmp/qemu-test/src/dtc/tests/set_name.c
DEP /tmp/qemu-test/src/dtc/tests/rw_tree1.c
DEP /tmp/qemu-test/src/dtc/tests/open_pack.c
DEP /tmp/qemu-test/src/dtc/tests/nopulate.c
DEP /tmp/qemu-test/src/dtc/tests/mangle-layout.c DEP /tmp/qemu-test/src/dtc/tests/move_and_save.c DEP /tmp/qemu-test/src/dtc/tests/sw_tree1.c
DEP /tmp/qemu-test/src/dtc/tests/nop_node.c
DEP /tmp/qemu-test/src/dtc/tests/nop_property.c DEP /tmp/qemu-test/src/dtc/tests/setprop_inplace.c DEP /tmp/qemu-test/src/dtc/tests/stringlist.c
DEP /tmp/qemu-test/src/dtc/tests/addr_size_cells.c DEP /tmp/qemu-test/src/dtc/tests/notfound.c
DEP /tmp/qemu-test/src/dtc/tests/sized_cells.c DEP /tmp/qemu-test/src/dtc/tests/char_literal.c DEP /tmp/qemu-test/src/dtc/tests/get_alias.c
DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_compatible.c DEP /tmp/qemu-test/src/dtc/tests/node_check_compatible.c DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_phandle.c DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_prop_value.c DEP /tmp/qemu-test/src/dtc/tests/parent_offset.c DEP /tmp/qemu-test/src/dtc/tests/supernode_atdepth_offset.c DEP /tmp/qemu-test/src/dtc/tests/get_path.c
DEP /tmp/qemu-test/src/dtc/tests/get_phandle.c DEP /tmp/qemu-test/src/dtc/tests/getprop.c
DEP /tmp/qemu-test/src/dtc/tests/get_name.c
DEP /tmp/qemu-test/src/dtc/tests/path_offset.c DEP /tmp/qemu-test/src/dtc/tests/subnode_offset.c DEP /tmp/qemu-test/src/dtc/tests/find_property.c DEP /tmp/qemu-test/src/dtc/tests/root_node.c
DEP /tmp/qemu-test/src/dtc/tests/get_mem_rsv.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_overlay.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_empty_tree.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_addresses.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_strerror.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_rw.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_sw.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_wip.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_ro.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt.c
DEP /tmp/qemu-test/src/dtc/util.c
DEP /tmp/qemu-test/src/dtc/fdtoverlay.c
DEP /tmp/qemu-test/src/dtc/fdtput.c
DEP /tmp/qemu-test/src/dtc/fdtget.c
DEP /tmp/qemu-test/src/dtc/fdtdump.c
DEP /tmp/qemu-test/src/dtc/srcpos.c
BISON dtc-parser.tab.c
LEX convert-dtsv0-lexer.lex.c
LEX dtc-lexer.lex.c
DEP /tmp/qemu-test/src/dtc/treesource.c
DEP /tmp/qemu-test/src/dtc/livetree.c
DEP /tmp/qemu-test/src/dtc/fstree.c
DEP /tmp/qemu-test/src/dtc/flattree.c
DEP /tmp/qemu-test/src/dtc/dtc.c
DEP /tmp/qemu-test/src/dtc/data.c
DEP /tmp/qemu-test/src/dtc/checks.c
DEP convert-dtsv0-lexer.lex.c
DEP dtc-parser.tab.c
DEP dtc-lexer.lex.c
CHK version_gen.h
UPD version_gen.h
DEP /tmp/qemu-test/src/dtc/util.c
CC libfdt/fdt.o
CC libfdt/fdt_ro.o
CC libfdt/fdt_rw.o
CC libfdt/fdt_wip.o
CC libfdt/fdt_strerror.o
CC libfdt/fdt_addresses.o
CC libfdt/fdt_sw.o
CC libfdt/fdt_empty_tree.o
CC libfdt/fdt_overlay.o
AR libfdt/libfdt.a
x86_64-w64-mingw32-ar: creating libfdt/libfdt.a
a - libfdt/fdt.o
a - libfdt/fdt_ro.o
a - libfdt/fdt_wip.o
a - libfdt/fdt_sw.o
a - libfdt/fdt_rw.o
a - libfdt/fdt_strerror.o
a - libfdt/fdt_empty_tree.o
a - libfdt/fdt_addresses.o
a - libfdt/fdt_overlay.o
RC version.o
mkdir -p dtc/libfdt
mkdir -p dtc/tests

  GEN     qga/qapi-generated/qapi-gen
  CC      qapi/qapi-types.o
  CC      qapi/qapi-types-block-core.o
  CC      qapi/qapi-types-block.o
  CC      qapi/qapi-types-char.o
  CC      qapi/qapi-builtin-types.o
  CC      qapi/qapi-types-crypto.o
  CC      qapi/qapi-types-common.o
  CC      qapi/qapi-types-introspect.o
  CC      qapi/qapi-types-migration.o
  CC      qapi/qapi-types-misc.o
  CC      qapi/qapi-types-net.o
  CC      qapi/qapi-types-rocker.o
  CC      qapi/qapi-types-run-state.o
  CC      qapi/qapi-types-sockets.o
  CC      qapi/qapi-types-tpm.o
  CC      qapi/qapi-types-trace.o
  CC      qapi/qapi-types-transaction.o
  CC      qapi/qapi-types-ui.o
  CC      qapi/qapi-builtin-visit.o
  CC      qapi/qapi-visit.o
  CC      qapi/qapi-visit-block-core.o
  CC      qapi/qapi-visit-block.o
  CC      qapi/qapi-visit-char.o
  CC      qapi/qapi-visit-common.o
  CC      qapi/qapi-visit-crypto.o
  CC      qapi/qapi-visit-introspect.o
  CC      qapi/qapi-visit-migration.o
  CC      qapi/qapi-visit-misc.o
  CC      qapi/qapi-visit-net.o
  CC      qapi/qapi-visit-rocker.o
  CC      qapi/qapi-visit-run-state.o
  CC      qapi/qapi-visit-sockets.o
  CC      qapi/qapi-visit-tpm.o
  CC      qapi/qapi-visit-trace.o
  CC      qapi/qapi-visit-transaction.o
  CC      qapi/qapi-visit-ui.o
  CC      qapi/qapi-events.o
  CC      qapi/qapi-events-block-core.o
  CC      qapi/qapi-events-block.o
  CC      qapi/qapi-events-char.o
  CC      qapi/qapi-events-common.o
  CC      qapi/qapi-events-crypto.o
  CC      qapi/qapi-events-introspect.o
  CC      qapi/qapi-events-migration.o
  CC      qapi/qapi-events-misc.o
  CC      qapi/qapi-events-net.o
  CC      qapi/qapi-events-rocker.o
  CC      qapi/qapi-events-run-state.o
  CC      qapi/qapi-events-sockets.o
  CC      qapi/qapi-events-tpm.o
  CC      qapi/qapi-events-trace.o
  CC      qapi/qapi-events-transaction.o
  CC      qapi/qapi-events-ui.o
  CC      qapi/qapi-introspect.o
  CC      qapi/qapi-visit-core.o
  CC      qapi/qapi-dealloc-visitor.o
  CC      qapi/qobject-input-visitor.o
  CC      qapi/qobject-output-visitor.o
  CC      qapi/qmp-registry.o
  CC      qapi/qmp-dispatch.o
  CC      qapi/string-input-visitor.o
  CC      qapi/string-output-visitor.o
  CC      qapi/opts-visitor.o
  CC      qapi/qapi-clone-visitor.o
  CC      qapi/qmp-event.o
  CC      qapi/qapi-util.o
  CC      qobject/qnull.o
  CC      qobject/qnum.o
  CC      qobject/qstring.o
  CC      qobject/qdict.o
  CC      qobject/qlist.o
  CC      qobject/qbool.o
  CC      qobject/qlit.o
  CC      qobject/qjson.o
  CC      qobject/qobject.o
  CC      qobject/json-lexer.o
  CC      qobject/json-streamer.o
  CC      qobject/json-parser.o
  CC      trace/simple.o
  CC      trace/control.o
  CC      trace/qmp.o
  CC      util/osdep.o
  CC      util/cutils.o
  CC      util/unicode.o
  CC      util/qemu-timer-common.o
/tmp/qemu-test/src/trace/simple.c:39:8: error: unknown type name 'GMuttex'
 static GMuttex trace_lock;
        ^~~~~~~
/tmp/qemu-test/src/trace/simple.c: In function 'flush_trace_file':
/tmp/qemu-test/src/trace/simple.c:134:18: error: passing argument 1 of 'g_mutex_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
     g_mutex_lock(&trace_lock);
                  ^
In file included from /usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib/gasyncqueue.h:32:0,
                 from /usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib.h:32,
                 from /tmp/qemu-test/src/include/glib-compat.h:29,
                 from /tmp/qemu-test/src/include/qemu/osdep.h:107,
                 from /tmp/qemu-test/src/trace/simple.c:11:
/usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib/gthread.h:168:17: note: expected 'GMutex * {aka union _GMutex *}' but argument is of type 'int *'
 void            g_mutex_lock                    (GMutex         *mutex);
                 ^~~~~~~~~~~~
/tmp/qemu-test/src/trace/simple.c:139:40: error: passing argument 2 of 'g_cond_wait' from incompatible pointer type [-Werror=incompatible-pointer-types]
         g_cond_wait(&trace_empty_cond, &trace_lock);
                                        ^
In file included from /usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib/gasyncqueue.h:32:0,
                 from /usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib.h:32,
                 from /tmp/qemu-test/src/include/glib-compat.h:29,
                 from /tmp/qemu-test/src/include/qemu/osdep.h:107,
                 from /tmp/qemu-test/src/trace/simple.c:11:
/usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib/gthread.h:207:17: note: expected 'GMutex * {aka union _GMutex *}' but argument is of type 'int *'
 void            g_cond_wait                     (GCond          *cond,
                 ^~~~~~~~~~~
/tmp/qemu-test/src/trace/simple.c:142:20: error: passing argument 1 of 'g_mutex_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
     g_mutex_unlock(&trace_lock);
                    ^
In file included from /usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib/gasyncqueue.h:32:0,
                 from /usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib.h:32,
                 from /tmp/qemu-test/src/include/glib-compat.h:29,
                 from /tmp/qemu-test/src/include/qemu/osdep.h:107,
                 from /tmp/qemu-test/src/trace/simple.c:11:
/usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib/gthread.h:172:17: note: expected 'GMutex * {aka union _GMutex *}' but argument is of type 'int *'
 void            g_mutex_unlock                  (GMutex         *mutex);
                 ^~~~~~~~~~~~~~
/tmp/qemu-test/src/trace/simple.c: In function 'wait_for_trace_records_available':
/tmp/qemu-test/src/trace/simple.c:147:18: error: passing argument 1 of 'g_mutex_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
     g_mutex_lock(&trace_lock);
                  ^
In file included from /usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib/gasyncqueue.h:32:0,
                 from /usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib.h:32,
                 from /tmp/qemu-test/src/include/glib-compat.h:29,
                 from /tmp/qemu-test/src/include/qemu/osdep.h:107,
                 from /tmp/qemu-test/src/trace/simple.c:11:
/usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib/gthread.h:168:17: note: expected 'GMutex * {aka union _GMutex *}' but argument is of type 'int *'
 void            g_mutex_lock                    (GMutex         *mutex);
                 ^~~~~~~~~~~~
/tmp/qemu-test/src/trace/simple.c:150:44: error: passing argument 2 of 'g_cond_wait' from incompatible pointer type [-Werror=incompatible-pointer-types]
         g_cond_wait(&trace_available_cond, &trace_lock);
                                            ^
In file included from /usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib/gasyncqueue.h:32:0,
                 from /usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib.h:32,
                 from /tmp/qemu-test/src/include/glib-compat.h:29,
                 from /tmp/qemu-test/src/include/qemu/osdep.h:107,
                 from /tmp/qemu-test/src/trace/simple.c:11:
/usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib/gthread.h:207:17: note: expected 'GMutex * {aka union _GMutex *}' but argument is of type 'int *'
 void            g_cond_wait                     (GCond          *cond,
                 ^~~~~~~~~~~
/tmp/qemu-test/src/trace/simple.c:153:20: error: passing argument 1 of 'g_mutex_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
     g_mutex_unlock(&trace_lock);
                    ^
In file included from /usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib/gasyncqueue.h:32:0,
                 from /usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib.h:32,
                 from /tmp/qemu-test/src/include/glib-compat.h:29,
                 from /tmp/qemu-test/src/include/qemu/osdep.h:107,
                 from /tmp/qemu-test/src/trace/simple.c:11:
/usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib/gthread.h:172:17: note: expected 'GMutex * {aka union _GMutex *}' but argument is of type 'int *'
 void            g_mutex_unlock                  (GMutex         *mutex);
                 ^~~~~~~~~~~~~~

cc1: all warnings being treated as errors
make: *** [/tmp/qemu-test/src/rules.mak:66: trace/simple.o] Error 1
make: *** Waiting for unfinished jobs....
Traceback (most recent call last):
File "./tests/docker/docker.py", line 407, in <module>

    sys.exit(main())

File "./tests/docker/docker.py", line 404, in main
return args.cmdobj.run(args, argv)
File "./tests/docker/docker.py", line 261, in run
return Docker().run(argv, args.keep, quiet=args.quiet)
File "./tests/docker/docker.py", line 229, in run
quiet=quiet)
File "./tests/docker/docker.py", line 147, in _do_check
return subprocess.check_call(self._command + cmd, **kwargs)
File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['docker', 'run', '--label', 'com.qemu.instance.uuid=e23f852a4fb811e8b82b52540069c830', '-u', '0', '--security-opt', 'seccomp=unconfined', '--rm', '--net=none', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=8', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/root/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-b1wef0nk/src/docker-src.2018-05-04-12.33.20.30331:/var/tmp/qemu:z,ro', 'qemu:fedora', '/var/tmp/qemu/run', 'test-mingw']' returned non-zero exit status 2 make[1]: *** [tests/docker/Makefile.include:129: docker-run] Error 1
make[1]: Leaving directory '/var/tmp/patchew-tester-tmp-b1wef0nk/src'
make: *** [tests/docker/Makefile.include:163: docker-run-test-mingw@fedora] Error 2

real 2m3.413s
user 0m4.154s
sys 0m3.598s
=== OUTPUT END ===

Test command exited with code: 2

---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to [email protected]

#10 lore raw
In reply to Daniel P. Berrangé
This series failed docker-build@min-glib build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally.

Hi,

This series failed docker-build@min-glib build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally.

Type: series
Message-id: [email protected]
Subject: [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42

=== TEST SCRIPT BEGIN ===
#!/bin/bash
set -e
git submodule update --init dtc
# Let docker tests dump environment info
export SHOW_ENV=1
export J=8
time make docker-test-build@min-glib
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
t [tag update] patchew/[email protected] -> patchew/[email protected]
Switched to a new branch 'test'
09f543c810 glib: enforce the minimum required version and warn about old APIs 11cc28ce03 glib: bump min required glib library version to 2.42 a06bb6f0ce qemu-doc: provide details of supported build platforms

=== OUTPUT BEGIN ===
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-_ky9tncy/src/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
BUILD min-glib
make[1]: Entering directory '/var/tmp/patchew-tester-tmp-_ky9tncy/src'
GEN /var/tmp/patchew-tester-tmp-_ky9tncy/src/docker-src.2018-05-04-12.36.01.2604/qemu.tar
Cloning into '/var/tmp/patchew-tester-tmp-_ky9tncy/src/docker-src.2018-05-04-12.36.01.2604/qemu.tar.vroot'... done.
Your branch is up-to-date with 'origin/test'.
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-_ky9tncy/src/docker-src.2018-05-04-12.36.01.2604/qemu.tar.vroot/dtc'... Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb' Cloning into '/var/tmp/patchew-tester-tmp-_ky9tncy/src/docker-src.2018-05-04-12.36.01.2604/qemu.tar.vroot/ui/keycodemapdb'... Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce'
COPY RUNNER
RUN test-build in qemu:min-glib
Environment variables:
HOSTNAME=8cf3c31b27b0
MAKEFLAGS= -j8
J=8
CCACHE_DIR=/var/tmp/ccache
EXTRA_CONFIGURE_OPTS=
V=
SHOW_ENV=1 PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
TARGET_LIST=
SHLVL=1
HOME=/root
TEST_DIR=/tmp/qemu-test
FEATURES= dtc
DEBUG=
_=/usr/bin/env

Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/tmp/qemu-test/install

ERROR: glib-2.42 gthread-2.0 is required to compile QEMU

# QEMU configure log Fri May 4 16:36:16 UTC 2018
# Configured with: '/tmp/qemu-test/src/configure' '--enable-werror' '--target-list=x86_64-softmmu,aarch64-softmmu' '--prefix=/tmp/qemu-test/install' #

funcs: do_compiler do_cc compile_object check_define main
lines: 92 119 566 583 0
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c

funcs: do_compiler do_cc compile_object check_define main
lines: 92 119 566 635 0
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c config-temp/qemu-conf.c:2:2: error: #error __i386__ not defined

funcs: do_compiler do_cc compile_object check_define main
lines: 92 119 566 637 0
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c

funcs: do_compiler do_cc compile_object check_define main
lines: 92 119 566 638 0
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c config-temp/qemu-conf.c:2:2: error: #error __ILP32__ not defined

funcs: do_compiler do_cc compile_object main
lines: 92 119 1664 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -Werror -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c

funcs: do_compiler do_cc compile_prog main
lines: 92 125 1669 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -Werror -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g

funcs: do_compiler do_cc compile_prog cc_has_warning_flag main
lines: 92 125 1721 1725 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Werror -Werror=address-of-packed-member -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc1: error: -Werror=address-of-packed-member: No option -Waddress-of-packed-member

funcs: do_compiler do_cc compile_prog cc_has_warning_flag main
lines: 92 125 1721 1725 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Werror -Wstring-plus-int -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc1: error: unrecognized command line option "-Wstring-plus-int"

funcs: do_compiler do_cc compile_prog cc_has_warning_flag main
lines: 92 125 1721 1725 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Werror -Winitializer-overrides -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc1: error: unrecognized command line option "-Winitializer-overrides"

funcs: do_compiler do_cc compile_prog cc_has_warning_flag main
lines: 92 125 1721 1725 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Werror -Wexpansion-to-defined -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc1: error: unrecognized command line option "-Wexpansion-to-defined"

funcs: do_compiler do_cc compile_prog cc_has_warning_flag main
lines: 92 125 1721 1725 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Werror -Wendif-labels -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g

funcs: do_compiler do_cc compile_prog cc_has_warning_flag main
lines: 92 125 1721 1725 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Werror -Wshift-negative-value -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc1: error: unrecognized command line option "-Wshift-negative-value"

funcs: do_compiler do_cc compile_prog cc_has_warning_flag main
lines: 92 125 1721 1725 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Werror -Wmissing-include-dirs -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g

funcs: do_compiler do_cc compile_prog cc_has_warning_flag main
lines: 92 125 1721 1725 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Werror -Wempty-body -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g

funcs: do_compiler do_cc compile_prog cc_has_warning_flag main
lines: 92 125 1721 1725 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Werror -Wnested-externs -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g

funcs: do_compiler do_cc compile_prog cc_has_warning_flag main
lines: 92 125 1721 1725 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Werror -Wformat-security -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g

funcs: do_compiler do_cc compile_prog cc_has_warning_flag main
lines: 92 125 1721 1725 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Werror -Wformat-y2k -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g

funcs: do_compiler do_cc compile_prog cc_has_warning_flag main
lines: 92 125 1721 1725 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Werror -Winit-self -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g

funcs: do_compiler do_cc compile_prog cc_has_warning_flag main
lines: 92 125 1721 1725 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Werror -Wignored-qualifiers -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g

funcs: do_compiler do_cc compile_prog cc_has_warning_flag main
lines: 92 125 1721 1725 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Werror -Wold-style-declaration -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g

funcs: do_compiler do_cc compile_prog cc_has_warning_flag main
lines: 92 125 1721 1725 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Werror -Wold-style-definition -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g

funcs: do_compiler do_cc compile_prog cc_has_warning_flag main
lines: 92 125 1721 1725 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Werror -Wtype-limits -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g

funcs: do_compiler do_cc main
lines: 92 1746 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -Werror -fstack-protector-strong -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
cc1: error: unrecognized command line option "-fstack-protector-strong"

funcs: do_compiler do_cc main
lines: 92 1746 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -Werror -fstack-protector-all -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c

funcs: do_compiler do_cc compile_prog main
lines: 92 125 1747 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -Werror -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g

funcs: do_compiler do_cc compile_object main
lines: 92 119 1767 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Werror -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
cc1: warnings being treated as errors
config-temp/qemu-conf.c:3: error: missing braces around initializer
config-temp/qemu-conf.c:3: error: (near initialization for 'x.a')

funcs: do_compiler do_cc compile_prog main
lines: 92 125 1784 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -Werror -fno-gcse -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g config-temp/qemu-conf.c:4:2: error: #error No bug in this compiler.

funcs: do_compiler do_cc compile_prog main
lines: 92 125 1805 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -Werror -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g

funcs: do_compiler do_cc compile_prog main
lines: 92 125 1834 0
cc -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -fPIE -DPIE -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -pie cc -Werror -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -fPIE -DPIE -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -pie

funcs: do_compiler do_cc compile_prog main
lines: 92 125 1838 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -pie -m64 -g -Wl,-z,relro -Wl,-z,now cc -Werror -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -pie -m64 -g -Wl,-z,relro -Wl,-z,now

funcs: do_compiler do_cc compile_prog main
lines: 92 125 1850 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -Werror -fno-pie -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -nopie
cc: unrecognized option '-nopie'
/usr/bin/ld: /tmp/ccAph6QI.o: relocation R_X86_64_PC32 against undefined symbol `__stack_chk_fail@@GLIBC_2.4' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status

funcs: do_compiler do_cc compile_object main
lines: 92 119 1958 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -Werror -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c

funcs: do_compiler do_cc compile_object main
lines: 92 119 1994 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -Werror -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c

funcs: do_compiler do_cc compile_prog main
lines: 92 125 2006 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g cc -Werror -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g

funcs: do_compiler do_cc compile_object main
lines: 92 119 2064 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -Werror -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c

funcs: do_compiler do_cc compile_prog main
lines: 92 125 2077 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lz cc -Werror -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lz

funcs: do_compiler do_cc compile_prog main
lines: 92 125 2094 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -llzo2 config-temp/qemu-conf.c:1:23: error: lzo/lzo1x.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:2: warning: implicit declaration of function 'lzo_version'
config-temp/qemu-conf.c:2: warning: nested extern declaration of 'lzo_version'

funcs: do_compiler do_cc compile_prog main
lines: 92 125 2113 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lsnappy config-temp/qemu-conf.c:1:22: error: snappy-c.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:2: warning: implicit declaration of function 'snappy_max_compressed_length'
config-temp/qemu-conf.c:2: warning: nested extern declaration of 'snappy_max_compressed_length'

funcs: do_compiler do_cc compile_prog main
lines: 92 125 2132 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lbz2 config-temp/qemu-conf.c:1:19: error: bzlib.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:2: warning: implicit declaration of function 'BZ2_bzlibVersion'
config-temp/qemu-conf.c:2: warning: nested extern declaration of 'BZ2_bzlibVersion'

funcs: do_compiler do_cc compile_prog main
lines: 92 125 2219 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lxenstore -lxenctrl -lxenguest config-temp/qemu-conf.c:1:21: error: xenctrl.h: No such file or directory

funcs: do_compiler do_cc compile_object check_include main
lines: 92 119 574 2826 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -Werror -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c

funcs: do_compiler do_cc compile_prog sdl_probe main
lines: 92 125 2929 2957 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -Wno-undef -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lSDL -lpthread cc -Werror -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -Wno-undef -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lSDL -lpthread

funcs: do_compiler do_cc compile_prog main
lines: 92 125 2970 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -Wno-undef -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lSDL -lpthread -lX11 cc -Werror -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -Wno-undef -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lSDL -lpthread -lX11

funcs: do_compiler do_cc compile_prog main
lines: 92 125 2985 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lrdmacm -libverbs -libumad config-temp/qemu-conf.c:1:27: error: rdma/rdma_cma.h: No such file or directory

funcs: do_compiler do_cc compile_prog main
lines: 92 125 3013 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lsasl2 config-temp/qemu-conf.c:1:23: error: sasl/sasl.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:3: warning: implicit declaration of function 'sasl_server_init'
config-temp/qemu-conf.c:3: warning: nested extern declaration of 'sasl_server_init'

funcs: do_compiler do_cc compile_prog main
lines: 92 125 3035 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -ljpeg config-temp/qemu-conf.c:2:21: error: jpeglib.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:3: error: storage size of 's' isn't known
config-temp/qemu-conf.c:3: warning: implicit declaration of function 'jpeg_create_compress'
config-temp/qemu-conf.c:3: warning: nested extern declaration of 'jpeg_create_compress'
config-temp/qemu-conf.c:3: warning: unused variable 's'

funcs: do_compiler do_cc compile_prog main
lines: 92 125 3067 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lpng config-temp/qemu-conf.c:2:17: error: png.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:5: error: 'png_structp' undeclared (first use in this function)
config-temp/qemu-conf.c:5: error: (Each undeclared identifier is reported only once
config-temp/qemu-conf.c:5: error: for each function it appears in.)
config-temp/qemu-conf.c:5: error: expected ';' before 'png_ptr'
config-temp/qemu-conf.c:6: error: 'png_ptr' undeclared (first use in this function)
config-temp/qemu-conf.c:6: warning: implicit declaration of function 'png_create_write_struct'
config-temp/qemu-conf.c:6: warning: nested extern declaration of 'png_create_write_struct'
config-temp/qemu-conf.c:6: error: 'PNG_LIBPNG_VER_STRING' undeclared (first use in this function)

funcs: do_compiler do_cc compile_prog main
lines: 92 125 3105 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g cc -Werror -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g

funcs: do_compiler do_cc compile_prog main
lines: 92 125 3121 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g config-temp/qemu-conf.c:2:21: error: xfs/xfs.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:5: warning: implicit declaration of function 'xfsctl'
config-temp/qemu-conf.c:5: warning: nested extern declaration of 'xfsctl'

funcs: do_compiler do_cc compile_prog main
lines: 92 125 3145 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lvdeplug config-temp/qemu-conf.c:1:24: error: libvdeplug.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:4: error: variable 'a' has initializer but incomplete type
config-temp/qemu-conf.c:4: warning: excess elements in struct initializer
config-temp/qemu-conf.c:4: warning: (near initialization for 'a')
config-temp/qemu-conf.c:4: warning: excess elements in struct initializer
config-temp/qemu-conf.c:4: warning: (near initialization for 'a')
config-temp/qemu-conf.c:4: warning: excess elements in struct initializer
config-temp/qemu-conf.c:4: warning: (near initialization for 'a')
config-temp/qemu-conf.c:4: error: storage size of 'a' isn't known
config-temp/qemu-conf.c:6: warning: implicit declaration of function 'vde_open'
config-temp/qemu-conf.c:6: warning: nested extern declaration of 'vde_open'
config-temp/qemu-conf.c:4: warning: unused variable 'a'

funcs: do_compiler do_cc compile_prog main
lines: 92 125 3195 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lcap-ng config-temp/qemu-conf.c:1:20: error: cap-ng.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:4: warning: implicit declaration of function 'capng_capability_to_name'
config-temp/qemu-conf.c:4: warning: nested extern declaration of 'capng_capability_to_name'
config-temp/qemu-conf.c:4: error: 'CAPNG_EFFECTIVE' undeclared (first use in this function)
config-temp/qemu-conf.c:4: error: (Each undeclared identifier is reported only once
config-temp/qemu-conf.c:4: error: for each function it appears in.)

funcs: do_compiler do_cc compile_prog main
lines: 92 125 3286 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lbrlapi config-temp/qemu-conf.c:1:20: error: brlapi.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:3: warning: implicit declaration of function 'brlapi__openConnection'
config-temp/qemu-conf.c:3: warning: nested extern declaration of 'brlapi__openConnection'

funcs: do_compiler do_cc compile_prog main
lines: 92 125 3328 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -DNCURSES_WIDECHAR -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g config-temp/qemu-conf.c:2:20: error: curses.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:7: warning: implicit declaration of function 'resize_term'
config-temp/qemu-conf.c:7: warning: nested extern declaration of 'resize_term'
config-temp/qemu-conf.c:8: warning: implicit declaration of function 'addwstr'
config-temp/qemu-conf.c:8: warning: nested extern declaration of 'addwstr'
config-temp/qemu-conf.c:9: warning: implicit declaration of function 'addnwstr'
config-temp/qemu-conf.c:9: warning: nested extern declaration of 'addnwstr'
config-temp/qemu-conf.c:10: warning: implicit declaration of function 'add_wch'
config-temp/qemu-conf.c:10: warning: nested extern declaration of 'add_wch'
config-temp/qemu-conf.c:10: error: 'WACS_DEGREE' undeclared (first use in this function)
config-temp/qemu-conf.c:10: error: (Each undeclared identifier is reported only once
config-temp/qemu-conf.c:10: error: for each function it appears in.)

funcs: do_compiler do_cc compile_prog main
lines: 92 125 3328 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -DNCURSES_WIDECHAR -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lncursesw config-temp/qemu-conf.c:2:20: error: curses.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:7: warning: implicit declaration of function 'resize_term'
config-temp/qemu-conf.c:7: warning: nested extern declaration of 'resize_term'
config-temp/qemu-conf.c:8: warning: implicit declaration of function 'addwstr'
config-temp/qemu-conf.c:8: warning: nested extern declaration of 'addwstr'
config-temp/qemu-conf.c:9: warning: implicit declaration of function 'addnwstr'
config-temp/qemu-conf.c:9: warning: nested extern declaration of 'addnwstr'
config-temp/qemu-conf.c:10: warning: implicit declaration of function 'add_wch'
config-temp/qemu-conf.c:10: warning: nested extern declaration of 'add_wch'
config-temp/qemu-conf.c:10: error: 'WACS_DEGREE' undeclared (first use in this function)
config-temp/qemu-conf.c:10: error: (Each undeclared identifier is reported only once
config-temp/qemu-conf.c:10: error: for each function it appears in.)

funcs: do_compiler do_cc compile_prog main
lines: 92 125 3328 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -DNCURSES_WIDECHAR -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lcursesw config-temp/qemu-conf.c:2:20: error: curses.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:7: warning: implicit declaration of function 'resize_term'
config-temp/qemu-conf.c:7: warning: nested extern declaration of 'resize_term'
config-temp/qemu-conf.c:8: warning: implicit declaration of function 'addwstr'
config-temp/qemu-conf.c:8: warning: nested extern declaration of 'addwstr'
config-temp/qemu-conf.c:9: warning: implicit declaration of function 'addnwstr'
config-temp/qemu-conf.c:9: warning: nested extern declaration of 'addnwstr'
config-temp/qemu-conf.c:10: warning: implicit declaration of function 'add_wch'
config-temp/qemu-conf.c:10: warning: nested extern declaration of 'add_wch'
config-temp/qemu-conf.c:10: error: 'WACS_DEGREE' undeclared (first use in this function)
config-temp/qemu-conf.c:10: error: (Each undeclared identifier is reported only once
config-temp/qemu-conf.c:10: error: for each function it appears in.)

funcs: do_compiler do_cc compile_prog main
lines: 92 125 3328 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -DNCURSES_WIDECHAR -I/usr/include/ncursesw -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g config-temp/qemu-conf.c:2:20: error: curses.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:7: warning: implicit declaration of function 'resize_term'
config-temp/qemu-conf.c:7: warning: nested extern declaration of 'resize_term'
config-temp/qemu-conf.c:8: warning: implicit declaration of function 'addwstr'
config-temp/qemu-conf.c:8: warning: nested extern declaration of 'addwstr'
config-temp/qemu-conf.c:9: warning: implicit declaration of function 'addnwstr'
config-temp/qemu-conf.c:9: warning: nested extern declaration of 'addnwstr'
config-temp/qemu-conf.c:10: warning: implicit declaration of function 'add_wch'
config-temp/qemu-conf.c:10: warning: nested extern declaration of 'add_wch'
config-temp/qemu-conf.c:10: error: 'WACS_DEGREE' undeclared (first use in this function)
config-temp/qemu-conf.c:10: error: (Each undeclared identifier is reported only once
config-temp/qemu-conf.c:10: error: for each function it appears in.)

funcs: do_compiler do_cc compile_prog main
lines: 92 125 3328 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -DNCURSES_WIDECHAR -I/usr/include/ncursesw -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lncursesw config-temp/qemu-conf.c:2:20: error: curses.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:7: warning: implicit declaration of function 'resize_term'
config-temp/qemu-conf.c:7: warning: nested extern declaration of 'resize_term'
config-temp/qemu-conf.c:8: warning: implicit declaration of function 'addwstr'
config-temp/qemu-conf.c:8: warning: nested extern declaration of 'addwstr'
config-temp/qemu-conf.c:9: warning: implicit declaration of function 'addnwstr'
config-temp/qemu-conf.c:9: warning: nested extern declaration of 'addnwstr'
config-temp/qemu-conf.c:10: warning: implicit declaration of function 'add_wch'
config-temp/qemu-conf.c:10: warning: nested extern declaration of 'add_wch'
config-temp/qemu-conf.c:10: error: 'WACS_DEGREE' undeclared (first use in this function)
config-temp/qemu-conf.c:10: error: (Each undeclared identifier is reported only once
config-temp/qemu-conf.c:10: error: for each function it appears in.)

funcs: do_compiler do_cc compile_prog main
lines: 92 125 3328 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -DNCURSES_WIDECHAR -I/usr/include/ncursesw -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g -lcursesw config-temp/qemu-conf.c:2:20: error: curses.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:7: warning: implicit declaration of function 'resize_term'
config-temp/qemu-conf.c:7: warning: nested extern declaration of 'resize_term'
config-temp/qemu-conf.c:8: warning: implicit declaration of function 'addwstr'
config-temp/qemu-conf.c:8: warning: nested extern declaration of 'addwstr'
config-temp/qemu-conf.c:9: warning: implicit declaration of function 'addnwstr'
config-temp/qemu-conf.c:9: warning: nested extern declaration of 'addnwstr'
config-temp/qemu-conf.c:10: warning: implicit declaration of function 'add_wch'
config-temp/qemu-conf.c:10: warning: nested extern declaration of 'add_wch'
config-temp/qemu-conf.c:10: error: 'WACS_DEGREE' undeclared (first use in this function)
config-temp/qemu-conf.c:10: error: (Each undeclared identifier is reported only once
config-temp/qemu-conf.c:10: error: for each function it appears in.)

funcs: do_compiler do_cc compile_prog main
lines: 92 125 3362 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g config-temp/qemu-conf.c:1:23: error: curl/curl.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:2: warning: implicit declaration of function 'curl_easy_init'
config-temp/qemu-conf.c:2: warning: nested extern declaration of 'curl_easy_init'
config-temp/qemu-conf.c:2: warning: implicit declaration of function 'curl_multi_setopt'
config-temp/qemu-conf.c:2: warning: nested extern declaration of 'curl_multi_setopt'

funcs: do_compiler do_cc compile_prog main
lines: 92 125 3381 0
cc -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g config-temp/qemu-conf.c:1:33: error: bluetooth/bluetooth.h: No such file or directory
config-temp/qemu-conf.c: In function 'main':
config-temp/qemu-conf.c:2: warning: implicit declaration of function 'bt_error'
config-temp/qemu-conf.c:2: warning: nested extern declaration of 'bt_error'
Failed to run 'configure'
Traceback (most recent call last):
File "./tests/docker/docker.py", line 407, in <module>

    sys.exit(main())

File "./tests/docker/docker.py", line 404, in main
return args.cmdobj.run(args, argv)
File "./tests/docker/docker.py", line 261, in run
return Docker().run(argv, args.keep, quiet=args.quiet)
File "./tests/docker/docker.py", line 229, in run
quiet=quiet)
File "./tests/docker/docker.py", line 147, in _do_check
return subprocess.check_call(self._command + cmd, **kwargs)
File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['docker', 'run', '--label', 'com.qemu.instance.uuid=4298b75c4fb911e8a28752540069c830', '-u', '0', '--security-opt', 'seccomp=unconfined', '--rm', '--net=none', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=8', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/root/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-_ky9tncy/src/docker-src.2018-05-04-12.36.01.2604:/var/tmp/qemu:z,ro', 'qemu:min-glib', '/var/tmp/qemu/run', 'test-build']' returned non-zero exit status 1 make[1]: *** [tests/docker/Makefile.include:129: docker-run] Error 1
make[1]: Leaving directory '/var/tmp/patchew-tester-tmp-_ky9tncy/src'
make: *** [tests/docker/Makefile.include:163: docker-run-test-build@min-glib] Error 2

real 0m40.038s
user 0m4.391s
sys 0m3.646s
=== OUTPUT END ===

Test command exited with code: 2

---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to [email protected]

#11 lore raw
In reply to Daniel P. Berrangé

Am Fri, 4 May 2018 17:00:23 +0100
schrieb Daniel P. Berrangé <[email protected]>:

Quoted 3 lines

- I suggested following libvirt's lead in writing a policy for how we pick supported OS targets to inform maintainers when min versions can be increased.

Since Xen depends on qemu, it also means that SLE11 will disappear silently for them.

Olaf

#12 lore raw
Quoted 9 lines · Olaf Hering

Am Fri, 4 May 2018 17:00:23 +0100
schrieb Daniel P. Berrangé <[email protected]>:

Quoted 3 lines

- I suggested following libvirt's lead in writing a policy for how we pick supported OS targets to inform maintainers when min versions can be increased.

Since Xen depends on qemu, it also means that SLE11 will disappear silently for them.

There's still option of using existing QEMU versions on old distros, or building a new parallel installed glib to support new QEMU, if old distro support is needed.

Regards,
Daniel

Signature · 3 lines
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
#13 lore raw
In reply to Daniel P. Berrangé

CC'ing xen-devel in case Xen maintainers have a need for something that will that conflict with this proposal wrt supported build platforms.

Quoted 61 lines · Daniel P. Berrangé

This short series is a followup the discussions around min glib version when Olaf found we had accidentally increased the min glib by using a newer function:

https://lists.gnu.org/archive/html/qemu-devel/2018-04/msg02699.html

Some key points from that thread

- Although we have a docker job that tries to test the min glib version is adhered to, that's only run post-build, not by Peter's merge tests, nor by patchew.

- The docker min glib test failed to detect the problem anyway because RHEL had backported the symbol in question.

- The docker min glib test only builds with certain configure options so isn't foolproof.

- The modern distros we implicitly care about have way newer glib

    than 2.22

- Peter's OS-X build host previously had 2.22, but after switching from fink to homebrew now has 2.56

- I suggested following libvirt's lead in writing a policy for how we pick supported OS targets to inform maintainers when min versions can be increased.

This series writes such a document largely based on one I wrote for libvirt with a few changes, largely around OS-X and *BSD. Note it is not meant to be an exhaustive list of distros we'll build on, rather a representative selection, so that we can identify the range of 3rd party library versions we need to care about. So if your favourite distro is missing, dont be alarmed, as it probably ships similar vintage software to one of those listed - if not feel free to suggest additions.

Based on that doc and https://repology.org/metapackage/glib/versions,
I identified that we could feasibly set min glib to 2.42. Note that this would be dropping RHEL-6 as a build host (RHEL-6.0 came out in 2010 so that's reasonable to drop IMHO). It would still cover 2 major Debian versions and 2 most recent Ubuntu LTS (16.04, 18.04, but *not* 14.04). This min glib lets us remove almost all our compat code.

Most interestingly, thanks tothe new min version being greater than 2.32, we can now use GLIB_VERSION_MAX_ALLOWED to validate the correct API usage according to our min version:

https://developer.gnome.org/glib/stable/glib-Version-Information.html#GLIB-VERSION-MAX-ALLOWED:CAPS

This means that *all* our CI jobs & developer builds will be enforcing the min version, so means very many more conditionally built features will get their build validated against min glib version. This would do a much better job of catching mistakes than our min-glib docker job, making that obsolete.

Daniel P. Berrangé (3):
qemu-doc: provide details of supported build platforms
glib: bump min required glib library version to 2.42
glib: enforce the minimum required version and warn about old APIs

Quoted 12 lines
 configure               |   6 +-
 include/glib-compat.h   | 362 ++++++------------------------------------------
 qemu-doc.texi           |  68 +++++++++
 tests/test-qmp-event.c  |   2 +-
 tests/tpm-emu.h         |   4 +-
 tests/vhost-user-test.c |   4 +-
 trace/simple.c          |   6 +-
 7 files changed, 123 insertions(+), 329 deletions(-)
Signature · 1 line
2.14.3

Regards,
Daniel

Signature · 8 lines
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel
#14 lore raw
Quoted 2 lines · Daniel P. Berrangé

CC'ing xen-devel in case Xen maintainers have a need for something that will that conflict with this proposal wrt supported build platforms.

Thanks for the heads-up. CC'ing some more people who usually have opinions on this sort of thing.

Quoted 58 lines · Daniel P. Berrangé
Quoted 56 lines

This short series is a followup the discussions around min glib version when Olaf found we had accidentally increased the min glib by using a newer function:

https://lists.gnu.org/archive/html/qemu-devel/2018-04/msg02699.html

Some key points from that thread

- Although we have a docker job that tries to test the min glib version is adhered to, that's only run post-build, not by Peter's merge tests, nor by patchew.

- The docker min glib test failed to detect the problem anyway because RHEL had backported the symbol in question.

- The docker min glib test only builds with certain configure options so isn't foolproof.

- The modern distros we implicitly care about have way newer glib

    than 2.22

- Peter's OS-X build host previously had 2.22, but after switching from fink to homebrew now has 2.56

- I suggested following libvirt's lead in writing a policy for how we pick supported OS targets to inform maintainers when min versions can be increased.

This series writes such a document largely based on one I wrote for libvirt with a few changes, largely around OS-X and *BSD. Note it is not meant to be an exhaustive list of distros we'll build on, rather a representative selection, so that we can identify the range of 3rd party library versions we need to care about. So if your favourite distro is missing, dont be alarmed, as it probably ships similar vintage software to one of those listed - if not feel free to suggest additions.

Based on that doc and https://repology.org/metapackage/glib/versions,
I identified that we could feasibly set min glib to 2.42. Note that this would be dropping RHEL-6 as a build host (RHEL-6.0 came out in 2010 so that's reasonable to drop IMHO). It would still cover 2 major Debian versions and 2 most recent Ubuntu LTS (16.04, 18.04, but *not* 14.04). This min glib lets us remove almost all our compat code.

Most interestingly, thanks tothe new min version being greater than 2.32, we can now use GLIB_VERSION_MAX_ALLOWED to validate the correct API usage according to our min version:

https://developer.gnome.org/glib/stable/glib-Version-Information.html#GLIB-VERSION-MAX-ALLOWED:CAPS

This means that *all* our CI jobs & developer builds will be enforcing the min version, so means very many more conditionally built features will get their build validated against min glib version. This would do a much better job of catching mistakes than our min-glib docker job, making that obsolete.

Quoted 4 lines
Quoted 4 lines

Daniel P. Berrangé (3):
qemu-doc: provide details of supported build platforms
glib: bump min required glib library version to 2.42
glib: enforce the minimum required version and warn about old APIs

Two responses from me.

With my Xen maintainer hat on: I wouldn't feel justified, personally, in asking another project to continue supporting older versions. If we didn't want to bump our own glib version, we would have to disable "upstream" QEMU (as opposed to Xen's old qemu fork) for older versions of glib.

That said, when we've had similar discussions for our own project, we've generally aimed at supporting all major currently-supported distros, which would include RHEL 6 / CentOS 6.

Tailing into that, with my CentOS package maintainer hat on: You said that the code in question compiled on RHEL 6 because RH had backported the function in question. Will QEMU continue to actually compile on RHEL 6 / CentOS 6? I.e., will configure be checking for that function, or only checking for the version number?

If the former, then the CentOS 6 Xen packages won't be affected. If the latter, then at some point I'll have to stop updating the Xen version for CentOS 6 -- but as the CentOS 6 EOL is coming up in 2020, it shouldn't be too much of a hardship.

-George

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel

#15 lore raw
Quoted 5 lines · George Dunlap

Tailing into that, with my CentOS package maintainer hat on: You said that the code in question compiled on RHEL 6 because RH had backported the function in question. Will QEMU continue to actually compile on RHEL 6 / CentOS 6? I.e., will configure be checking for that function, or only checking for the version number?

The latter, because we're also dropping all the compatibility code that allowed QEMU to compile on older glib versions.

Paolo

Quoted 4 lines

If the former, then the CentOS 6 Xen packages won't be affected. If the latter, then at some point I'll have to stop updating the Xen version for CentOS 6 -- but as the CentOS 6 EOL is coming up in 2020, it shouldn't be too much of a hardship.

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel

#16 lore raw
In reply to George Dunlap
Quoted 70 lines · George Dunlap
Quoted 2 lines · Daniel P. Berrangé

CC'ing xen-devel in case Xen maintainers have a need for something that will that conflict with this proposal wrt supported build platforms.

Thanks for the heads-up. CC'ing some more people who usually have opinions on this sort of thing.

Quoted 58 lines · Daniel P. Berrangé
Quoted 56 lines

This short series is a followup the discussions around min glib version when Olaf found we had accidentally increased the min glib by using a newer function:

https://lists.gnu.org/archive/html/qemu-devel/2018-04/msg02699.html

Some key points from that thread

- Although we have a docker job that tries to test the min glib version is adhered to, that's only run post-build, not by Peter's merge tests, nor by patchew.

- The docker min glib test failed to detect the problem anyway because RHEL had backported the symbol in question.

- The docker min glib test only builds with certain configure options so isn't foolproof.

- The modern distros we implicitly care about have way newer glib

    than 2.22

- Peter's OS-X build host previously had 2.22, but after switching from fink to homebrew now has 2.56

- I suggested following libvirt's lead in writing a policy for how we pick supported OS targets to inform maintainers when min versions can be increased.

This series writes such a document largely based on one I wrote for libvirt with a few changes, largely around OS-X and *BSD. Note it is not meant to be an exhaustive list of distros we'll build on, rather a representative selection, so that we can identify the range of 3rd party library versions we need to care about. So if your favourite distro is missing, dont be alarmed, as it probably ships similar vintage software to one of those listed - if not feel free to suggest additions.

Based on that doc and https://repology.org/metapackage/glib/versions,
I identified that we could feasibly set min glib to 2.42. Note that this would be dropping RHEL-6 as a build host (RHEL-6.0 came out in 2010 so that's reasonable to drop IMHO). It would still cover 2 major Debian versions and 2 most recent Ubuntu LTS (16.04, 18.04, but *not* 14.04). This min glib lets us remove almost all our compat code.

Most interestingly, thanks tothe new min version being greater than 2.32, we can now use GLIB_VERSION_MAX_ALLOWED to validate the correct API usage according to our min version:

https://developer.gnome.org/glib/stable/glib-Version-Information.html#GLIB-VERSION-MAX-ALLOWED:CAPS

This means that *all* our CI jobs & developer builds will be enforcing the min version, so means very many more conditionally built features will get their build validated against min glib version. This would do a much better job of catching mistakes than our min-glib docker job, making that obsolete.

Quoted 4 lines
Quoted 4 lines

Daniel P. Berrangé (3):
qemu-doc: provide details of supported build platforms
glib: bump min required glib library version to 2.42
glib: enforce the minimum required version and warn about old APIs

Quoted 7 lines

Two responses from me.

With my Xen maintainer hat on: I wouldn't feel justified, personally, in asking another project to continue supporting older versions. If we didn't want to bump our own glib version, we would have to disable "upstream" QEMU (as opposed to Xen's old qemu fork) for older versions of glib.

Or could you say that people need to use a stable version of QEMU ? eg users wanting Xen on RHEL-6, can use "upstream" QEMU, but they'll need to stick with the 2.12 stable branch version - not use git master or future releases. I guess it depends whether you can expect 2.12 QEMU to carry on working correctly with ongoing Xen changes.

Quoted 10 lines

That said, when we've had similar discussions for our own project, we've generally aimed at supporting all major currently-supported distros, which would include RHEL 6 / CentOS 6.

Tailing into that, with my CentOS package maintainer hat on: You said that the code in question compiled on RHEL 6 because RH had backported the function in question. Will QEMU continue to actually compile on RHEL 6 / CentOS 6? I.e., will configure be checking for that function, or only checking for the version number?

No, the function discussed was just one example of the extra work we have in trying to maintain compat with old distros, and how even with testing we sometimes mess up.

This patch is explicitly requiring a much newer glib2 version by doing a min version check with pkg-config. So with this change applied, RHEL-6/CentOS-6 would be explicitly *unsupported* as a build host.

If someone needed to continue using 6, they would have to either backout the min version change and then own the problem of providing backcompat fixups, or they would have to build a parallel installed version of glib2 to satisfy EQMU's deps.

Quoted 4 lines

If the former, then the CentOS 6 Xen packages won't be affected. If the latter, then at some point I'll have to stop updating the Xen version for CentOS 6 -- but as the CentOS 6 EOL is coming up in 2020, it shouldn't be too much of a hardship.

The policy I've proposed for QEMU was in turn inspired by what we recently did for libvirt[1]. Previously libvirt tried to support the 2 most recent versions of major RHEL at all times, while QEMU had no rule about supported versions at all - it has been bumped on a fairly adhoc basis.

With the new formal rule, libvirt, and now QEMU with this patch series, cuts the support to the most recent major release, plus the previous major release for an overlap period of 2 years.

IOW, since RHEL-7.0 came out in June 2014, with this new rule, RHEL-6.x can be considered dropped as a build target from June 2016.

Regards,
Daniel

[1] https://libvirt.org/platforms.html

Signature · 8 lines
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel
#17 lore raw
Quoted 11 lines · Daniel P. Berrangé
Quoted 5 lines

With my Xen maintainer hat on: I wouldn't feel justified, personally, in asking another project to continue supporting older versions. If we didn't want to bump our own glib version, we would have to disable "upstream" QEMU (as opposed to Xen's old qemu fork) for older versions of glib.

Or could you say that people need to use a stable version of QEMU ? eg users wanting Xen on RHEL-6, can use "upstream" QEMU, but they'll need to stick with the 2.12 stable branch version - not use git master or future releases. I guess it depends whether you can expect 2.12 QEMU to carry on working correctly with ongoing Xen changes.

Yes, that's a good point. In theory older versions of QEMU should in theory continue working with newer versions of Xen.

Two points about that solution:

1. Our release tarball currently ships with a snapshotted version of a specific version of QEMU, and if you check out a release tag in our git repo it will by default clone a specific version of qemu for you. Users / downstreams would have to disable that and clone their own version.

2. While in theory all versions should continue to work, in practice our testing system and the majority of our downstreams use the version specified by the release, even when they build QEMU separately. (I think Debian may be an exception to this rule but I'm not sure.) Using an older version of QEMU does mean going "off the beaten track" a bit, increasing slightly the chance of random bugs.

Anyway, from what I can tell, your decision sounds entirely reasonable, and users and downstreams who don't want to / can't update glib have a number of options, so I personally don't see any grounds for objecting or complaining. Thanks again for the heads-up.

-George

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel

#18 lore raw
In reply to Daniel P. Berrangé
Quoted 6 lines · Daniel P. Berrangé

Based on that doc and https://repology.org/metapackage/glib/versions,
I identified that we could feasibly set min glib to 2.42. Note that this would be dropping RHEL-6 as a build host (RHEL-6.0 came out in 2010 so that's reasonable to drop IMHO). It would still cover 2 major Debian versions and 2 most recent Ubuntu LTS (16.04, 18.04, but *not* 14.04). This min glib lets us remove almost all our compat code.

Queued after adding to patch 3 the removal of CentOS 6 and min-glib Dockerfiles.

Paolo

#19 lore raw
Quoted 10 lines · Paolo Bonzini
Quoted 6 lines · Daniel P. Berrangé

Based on that doc and https://repology.org/metapackage/glib/versions,
I identified that we could feasibly set min glib to 2.42. Note that this would be dropping RHEL-6 as a build host (RHEL-6.0 came out in 2010 so that's reasonable to drop IMHO). It would still cover 2 major Debian versions and 2 most recent Ubuntu LTS (16.04, 18.04, but *not* 14.04). This min glib lets us remove almost all our compat code.

Queued after adding to patch 3 the removal of CentOS 6 and min-glib Dockerfiles.

I assume you also fixed the silly s/GMuttex/GMutex/ typo that patchew and Eric pointed out in patch 2....

Regards,
Daniel

Signature · 3 lines
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
#20 lore raw
Quoted 9 lines · Daniel P. Berrangé
Quoted 8 lines · Paolo Bonzini
Quoted 6 lines · Daniel P. Berrangé

Based on that doc and https://repology.org/metapackage/glib/versions,
I identified that we could feasibly set min glib to 2.42. Note that this would be dropping RHEL-6 as a build host (RHEL-6.0 came out in 2010 so that's reasonable to drop IMHO). It would still cover 2 major Debian versions and 2 most recent Ubuntu LTS (16.04, 18.04, but *not* 14.04). This min glib lets us remove almost all our compat code.

Quoted 5 lines
Quoted 2 lines

Queued after adding to patch 3 the removal of CentOS 6 and min-glib Dockerfiles.

I assume you also fixed the silly s/GMuttex/GMutex/ typo that patchew and Eric pointed out in patch 2....

Yes, of course, though that was after sending the message. :)

Paolo

#21 lore raw

[Qemu-devel] Requiring Python 2.7+ (was Re: [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42)

In reply to Daniel P. Berrangé

On Fri, May 04, 2018 at 05:00:23PM +0100, Daniel P. Berrangé wrote:
[...]

Quoted 6 lines

Based on that doc and https://repology.org/metapackage/glib/versions,
I identified that we could feasibly set min glib to 2.42. Note that this would be dropping RHEL-6 as a build host (RHEL-6.0 came out in 2010 so that's reasonable to drop IMHO). It would still cover 2 major Debian versions and 2 most recent Ubuntu LTS (16.04, 18.04, but *not* 14.04). This min glib lets us remove almost all our compat code.

If we're dropping RHEL-6, is there anything else blocking us from bumping the minimum required Python versino to 2.7?

Quoted 1 line

From the wording on patch 1/3, it looks like we will drop support

for SLES-11 too?

Signature · 1 line
Eduardo
#22 lore raw

Re: [Qemu-devel] Requiring Python 2.7+ (was Re: [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42)

Quoted 9 lines · Eduardo Habkost

On Fri, May 04, 2018 at 05:00:23PM +0100, Daniel P. Berrangé wrote:
[...]

Quoted 6 lines

Based on that doc and https://repology.org/metapackage/glib/versions,
I identified that we could feasibly set min glib to 2.42. Note that this would be dropping RHEL-6 as a build host (RHEL-6.0 came out in 2010 so that's reasonable to drop IMHO). It would still cover 2 major Debian versions and 2 most recent Ubuntu LTS (16.04, 18.04, but *not* 14.04). This min glib lets us remove almost all our compat code.

Quoted 5 lines

If we're dropping RHEL-6, is there anything else blocking us from bumping the minimum required Python versino to 2.7?

From the wording on patch 1/3, it looks like we will drop support for SLES-11 too?

Yes, that is correct.

py27 seems reasonable to me, assuming none of Peter's build machines are stuck on 2.6

Regards,
Daniel

Signature · 3 lines
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
#23 lore raw

Re: [Qemu-devel] Requiring Python 2.7+ (was Re: [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42)

Quoted 13 lines · Daniel P. Berrangé
Quoted 12 lines · Eduardo Habkost

On Fri, May 04, 2018 at 05:00:23PM +0100, Daniel P. Berrangé wrote:
[...]

Quoted 6 lines

Based on that doc and https://repology.org/metapackage/glib/versions,
I identified that we could feasibly set min glib to 2.42. Note that this would be dropping RHEL-6 as a build host (RHEL-6.0 came out in 2010 so that's reasonable to drop IMHO). It would still cover 2 major Debian versions and 2 most recent Ubuntu LTS (16.04, 18.04, but *not* 14.04). This min glib lets us remove almost all our compat code.

If we're dropping RHEL-6, is there anything else blocking us from bumping the minimum required Python versino to 2.7?

Quoted 7 lines
Quoted 2 lines

From the wording on patch 1/3, it looks like we will drop support for SLES-11 too?

Yes, that is correct.

py27 seems reasonable to me, assuming none of Peter's build machines are stuck on 2.6

OSX was the most likely candidate for that, and it's 2.7.

thanks
-- PMM