All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
@ 2018-05-04 16:00 Daniel P. Berrangé
  2018-05-04 16:00 ` [Qemu-devel] [PATCH 1/3] qemu-doc: provide details of supported build platforms Daniel P. Berrangé
                   ` (8 more replies)
  0 siblings, 9 replies; 29+ messages in thread
From: Daniel P. Berrangé @ 2018-05-04 16:00 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Markus Armbruster, Paolo Bonzini, Thomas Huth,
	Olaf Hering, Stefan Hajnoczi, Michael Roth, Eric Blake,
	Stefan Berger, 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

 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(-)

-- 
2.14.3

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Qemu-devel] [PATCH 1/3] qemu-doc: provide details of supported build platforms
  2018-05-04 16:00 [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42 Daniel P. Berrangé
@ 2018-05-04 16:00 ` Daniel P. Berrangé
  2018-05-04 16:00 ` [Qemu-devel] [PATCH 2/3] glib: bump min required glib library version to 2.42 Daniel P. Berrangé
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 29+ messages in thread
From: Daniel P. Berrangé @ 2018-05-04 16:00 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Markus Armbruster, Paolo Bonzini, Thomas Huth,
	Olaf Hering, Stefan Hajnoczi, Michael Roth, Eric Blake,
	Stefan Berger, Daniel P. Berrangé

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.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 qemu-doc.texi | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/qemu-doc.texi b/qemu-doc.texi
index 5813d27615..d44b778764 100644
--- a/qemu-doc.texi
+++ b/qemu-doc.texi
@@ -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
 
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [Qemu-devel] [PATCH 2/3] glib: bump min required glib library version to 2.42
  2018-05-04 16:00 [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42 Daniel P. Berrangé
  2018-05-04 16:00 ` [Qemu-devel] [PATCH 1/3] qemu-doc: provide details of supported build platforms Daniel P. Berrangé
@ 2018-05-04 16:00 ` Daniel P. Berrangé
  2018-05-04 20:02   ` Eric Blake
  2018-05-04 16:00 ` [Qemu-devel] [PATCH 3/3] glib: enforce the minimum required version and warn about old APIs Daniel P. Berrangé
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 29+ messages in thread
From: Daniel P. Berrangé @ 2018-05-04 16:00 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Markus Armbruster, Paolo Bonzini, Thomas Huth,
	Olaf Hering, Stefan Hajnoczi, Michael Roth, Eric Blake,
	Stefan Berger, 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

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 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(-)

diff --git a/configure b/configure
index 1443422e83..e5d2f625a7 100755
--- a/configure
+++ b/configure
@@ -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"
diff --git a/include/glib-compat.h b/include/glib-compat.h
index c49cf87196..3b340ab33c 100644
--- a/include/glib-compat.h
+++ b/include/glib-compat.h
@@ -18,27 +18,6 @@
 
 #include <glib.h>
 
-/* GLIB version compatibility flags */
-#if !GLIB_CHECK_VERSION(2, 26, 0)
-#define G_TIME_SPAN_SECOND              (G_GINT64_CONSTANT(1000000))
-#endif
-
-#if !GLIB_CHECK_VERSION(2, 28, 0)
-static inline gint64 qemu_g_get_monotonic_time(void)
-{
-    /* g_get_monotonic_time() is best-effort so we can use the wall clock as a
-     * fallback.
-     */
-
-    GTimeVal time;
-    g_get_current_time(&time);
-
-    return time.tv_sec * G_TIME_SPAN_SECOND + time.tv_usec;
-}
-/* work around distro backports of this interface */
-#define g_get_monotonic_time() qemu_g_get_monotonic_time()
-#endif
-
 #if defined(_WIN32) && !GLIB_CHECK_VERSION(2, 50, 0)
 /*
  * g_poll has a problem on Windows when using
@@ -48,228 +27,6 @@ static inline gint64 qemu_g_get_monotonic_time(void)
 gint g_poll_fixed(GPollFD *fds, guint nfds, gint timeout);
 #endif
 
-#if !GLIB_CHECK_VERSION(2, 30, 0)
-/* Not a 100% compatible implementation, but good enough for most
- * cases. Placeholders are only supported at the end of the
- * template. */
-static inline gchar *qemu_g_dir_make_tmp(gchar const *tmpl, GError **error)
-{
-    gchar *path = g_build_filename(g_get_tmp_dir(), tmpl ?: ".XXXXXX", NULL);
-
-    if (mkdtemp(path) != NULL) {
-        return path;
-    }
-    /* Error occurred, clean up. */
-    g_set_error(error, G_FILE_ERROR, g_file_error_from_errno(errno),
-                "mkdtemp() failed");
-    g_free(path);
-    return NULL;
-}
-#define g_dir_make_tmp(tmpl, error) qemu_g_dir_make_tmp(tmpl, error)
-#endif /* glib 2.30 */
-
-#if !GLIB_CHECK_VERSION(2, 31, 0)
-/* before glib-2.31, GMutex and GCond was dynamic-only (there was a separate
- * GStaticMutex, but it didn't work with condition variables).
- *
- * Our implementation uses GOnce to fake a static implementation that does
- * not require separate initialization.
- * We need to rename the types to avoid passing our CompatGMutex/CompatGCond
- * by mistake to a function that expects GMutex/GCond.  However, for ease
- * of use we keep the GLib function names.  GLib uses macros for the
- * implementation, we use inline functions instead and undefine the macros.
- */
-
-typedef struct CompatGMutex {
-    GOnce once;
-} CompatGMutex;
-
-typedef struct CompatGCond {
-    GOnce once;
-} CompatGCond;
-
-static inline gpointer do_g_mutex_new(gpointer unused)
-{
-    return (gpointer) g_mutex_new();
-}
-
-static inline void g_mutex_init(CompatGMutex *mutex)
-{
-    mutex->once = (GOnce) G_ONCE_INIT;
-}
-
-static inline void g_mutex_clear(CompatGMutex *mutex)
-{
-    g_assert(mutex->once.status != G_ONCE_STATUS_PROGRESS);
-    if (mutex->once.retval) {
-        g_mutex_free((GMutex *) mutex->once.retval);
-    }
-    mutex->once = (GOnce) G_ONCE_INIT;
-}
-
-static inline void (g_mutex_lock)(CompatGMutex *mutex)
-{
-    g_once(&mutex->once, do_g_mutex_new, NULL);
-    g_mutex_lock((GMutex *) mutex->once.retval);
-}
-#undef g_mutex_lock
-
-static inline gboolean (g_mutex_trylock)(CompatGMutex *mutex)
-{
-    g_once(&mutex->once, do_g_mutex_new, NULL);
-    return g_mutex_trylock((GMutex *) mutex->once.retval);
-}
-#undef g_mutex_trylock
-
-
-static inline void (g_mutex_unlock)(CompatGMutex *mutex)
-{
-    g_mutex_unlock((GMutex *) mutex->once.retval);
-}
-#undef g_mutex_unlock
-
-static inline gpointer do_g_cond_new(gpointer unused)
-{
-    return (gpointer) g_cond_new();
-}
-
-static inline void g_cond_init(CompatGCond *cond)
-{
-    cond->once = (GOnce) G_ONCE_INIT;
-}
-
-static inline void g_cond_clear(CompatGCond *cond)
-{
-    g_assert(cond->once.status != G_ONCE_STATUS_PROGRESS);
-    if (cond->once.retval) {
-        g_cond_free((GCond *) cond->once.retval);
-    }
-    cond->once = (GOnce) G_ONCE_INIT;
-}
-
-static inline void (g_cond_wait)(CompatGCond *cond, CompatGMutex *mutex)
-{
-    g_assert(mutex->once.status != G_ONCE_STATUS_PROGRESS);
-    g_once(&cond->once, do_g_cond_new, NULL);
-    g_cond_wait((GCond *) cond->once.retval, (GMutex *) mutex->once.retval);
-}
-#undef g_cond_wait
-
-static inline void (g_cond_broadcast)(CompatGCond *cond)
-{
-    g_once(&cond->once, do_g_cond_new, NULL);
-    g_cond_broadcast((GCond *) cond->once.retval);
-}
-#undef g_cond_broadcast
-
-static inline void (g_cond_signal)(CompatGCond *cond)
-{
-    g_once(&cond->once, do_g_cond_new, NULL);
-    g_cond_signal((GCond *) cond->once.retval);
-}
-#undef g_cond_signal
-
-static inline gboolean (g_cond_timed_wait)(CompatGCond *cond,
-                                           CompatGMutex *mutex,
-                                           GTimeVal *time)
-{
-    g_assert(mutex->once.status != G_ONCE_STATUS_PROGRESS);
-    g_once(&cond->once, do_g_cond_new, NULL);
-    return g_cond_timed_wait((GCond *) cond->once.retval,
-                             (GMutex *) mutex->once.retval, time);
-}
-#undef g_cond_timed_wait
-
-/* This is not a macro, because it didn't exist until 2.32.  */
-static inline gboolean g_cond_wait_until(CompatGCond *cond, CompatGMutex *mutex,
-                                         gint64 end_time)
-{
-    GTimeVal time;
-
-    /* Convert from monotonic to CLOCK_REALTIME.  */
-    end_time -= g_get_monotonic_time();
-    g_get_current_time(&time);
-    end_time += time.tv_sec * G_TIME_SPAN_SECOND + time.tv_usec;
-
-    time.tv_sec = end_time / G_TIME_SPAN_SECOND;
-    time.tv_usec = end_time % G_TIME_SPAN_SECOND;
-    return g_cond_timed_wait(cond, mutex, &time);
-}
-
-/* before 2.31 there was no g_thread_new() */
-static inline GThread *g_thread_new(const char *name,
-                                    GThreadFunc func, gpointer data)
-{
-    GThread *thread = g_thread_create(func, data, TRUE, NULL);
-    if (!thread) {
-        g_error("creating thread");
-    }
-    return thread;
-}
-#else
-#define CompatGMutex GMutex
-#define CompatGCond GCond
-#endif /* glib 2.31 */
-
-#if !GLIB_CHECK_VERSION(2, 32, 0)
-/* Beware, function returns gboolean since 2.39.2, see GLib commit 9101915 */
-static inline void g_hash_table_add(GHashTable *hash_table, gpointer key)
-{
-    g_hash_table_replace(hash_table, key, key);
-}
-
-static inline gboolean g_hash_table_contains(GHashTable *hash_table,
-                                             gpointer key)
-{
-    return g_hash_table_lookup_extended(hash_table, key, NULL, NULL);
-}
-#define G_SOURCE_CONTINUE TRUE
-#define G_SOURCE_REMOVE FALSE
-#endif
-
-#ifndef g_assert_true
-#define g_assert_true(expr)                                                    \
-    do {                                                                       \
-        if (G_LIKELY(expr)) {                                                  \
-        } else {                                                               \
-            g_assertion_message(G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC,   \
-                                "'" #expr "' should be TRUE");                 \
-        }                                                                      \
-    } while (0)
-#endif
-
-#ifndef g_assert_false
-#define g_assert_false(expr)                                                   \
-    do {                                                                       \
-        if (G_LIKELY(!(expr))) {                                               \
-        } else {                                                               \
-            g_assertion_message(G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC,   \
-                                "'" #expr "' should be FALSE");                \
-        }                                                                      \
-    } while (0)
-#endif
-
-#ifndef g_assert_null
-#define g_assert_null(expr)                                                    \
-    do {                                                                       \
-        if (G_LIKELY((expr) == NULL)) {                                        \
-        } else {                                                               \
-            g_assertion_message(G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC,   \
-                                "'" #expr "' should be NULL");                 \
-        }                                                                      \
-    } while (0)
-#endif
-
-#ifndef g_assert_nonnull
-#define g_assert_nonnull(expr)                                                 \
-    do {                                                                       \
-        if (G_LIKELY((expr) != NULL)) {                                        \
-        } else {                                                               \
-            g_assertion_message(G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC,   \
-                                "'" #expr "' should not be NULL");             \
-        }                                                                      \
-    } while (0)
-#endif
 
 #ifndef g_assert_cmpmem
 #define g_assert_cmpmem(m1, l1, m2, l2)                                        \
@@ -288,80 +45,4 @@ static inline gboolean g_hash_table_contains(GHashTable *hash_table,
     } while (0)
 #endif
 
-#if !GLIB_CHECK_VERSION(2, 28, 0)
-static inline void g_list_free_full(GList *list, GDestroyNotify free_func)
-{
-    GList *l;
-
-    for (l = list; l; l = l->next) {
-        free_func(l->data);
-    }
-
-    g_list_free(list);
-}
-
-static inline void g_slist_free_full(GSList *list, GDestroyNotify free_func)
-{
-    GSList *l;
-
-    for (l = list; l; l = l->next) {
-        free_func(l->data);
-    }
-
-    g_slist_free(list);
-}
-#endif
-
-#if !GLIB_CHECK_VERSION(2, 26, 0)
-static inline void g_source_set_name(GSource *source, const char *name)
-{
-    /* This is just a debugging aid, so leaving it a no-op */
-}
-static inline void g_source_set_name_by_id(guint tag, const char *name)
-{
-    /* This is just a debugging aid, so leaving it a no-op */
-}
-#endif
-
-#if !GLIB_CHECK_VERSION(2, 36, 0)
-/* Always fail.  This will not include error_report output in the test log,
- * sending it instead to stderr.
- */
-#define g_test_initialized() (0)
-#endif
-#if !GLIB_CHECK_VERSION(2, 38, 0)
-#ifdef CONFIG_HAS_GLIB_SUBPROCESS_TESTS
-#error schizophrenic detection of glib subprocess testing
-#endif
-#define g_test_subprocess() (0)
-#endif
-
-
-#if !GLIB_CHECK_VERSION(2, 34, 0)
-static inline void
-g_test_add_data_func_full(const char *path,
-                          gpointer data,
-                          gpointer fn,
-                          gpointer data_free_func)
-{
-#if GLIB_CHECK_VERSION(2, 26, 0)
-    /* back-compat casts, remove this once we can require new-enough glib */
-    g_test_add_vtable(path, 0, data, NULL,
-                      (GTestFixtureFunc)fn, (GTestFixtureFunc) data_free_func);
-#else
-    /* back-compat casts, remove this once we can require new-enough glib */
-    g_test_add_vtable(path, 0, data, NULL,
-                      (void (*)(void)) fn, (void (*)(void)) data_free_func);
-#endif
-}
-#endif
-
-/* Small compat shim from glib 2.32 */
-#ifndef G_SOURCE_CONTINUE
-#define G_SOURCE_CONTINUE TRUE
-#endif
-#ifndef G_SOURCE_REMOVE
-#define G_SOURCE_REMOVE FALSE
-#endif
-
 #endif
diff --git a/tests/test-qmp-event.c b/tests/test-qmp-event.c
index bb1036615f..963fe47ce3 100644
--- a/tests/test-qmp-event.c
+++ b/tests/test-qmp-event.c
@@ -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
diff --git a/tests/tpm-emu.h b/tests/tpm-emu.h
index ef4bfa8800..08f902485e 100644
--- a/tests/tpm-emu.h
+++ b/tests/tpm-emu.h
@@ -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;
diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c
index 61d997253c..b4bc38acc0 100644
--- a/tests/vhost-user-test.c
+++ b/tests/vhost-user-test.c
@@ -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;
diff --git a/trace/simple.c b/trace/simple.c
index e82018d923..65e558126d 100644
--- a/trace/simple.c
+++ b/trace/simple.c
@@ -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;
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [Qemu-devel] [PATCH 3/3] glib: enforce the minimum required version and warn about old APIs
  2018-05-04 16:00 [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42 Daniel P. Berrangé
  2018-05-04 16:00 ` [Qemu-devel] [PATCH 1/3] qemu-doc: provide details of supported build platforms Daniel P. Berrangé
  2018-05-04 16:00 ` [Qemu-devel] [PATCH 2/3] glib: bump min required glib library version to 2.42 Daniel P. Berrangé
@ 2018-05-04 16:00 ` Daniel P. Berrangé
  2018-05-08 15:17   ` Paolo Bonzini
  2018-05-04 16:35 ` [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42 no-reply
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 29+ messages in thread
From: Daniel P. Berrangé @ 2018-05-04 16:00 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Markus Armbruster, Paolo Bonzini, Thomas Huth,
	Olaf Hering, Stefan Hajnoczi, Michael Roth, Eric Blake,
	Stefan Berger, 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.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 include/glib-compat.h | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/include/glib-compat.h b/include/glib-compat.h
index 3b340ab33c..d066f6d257 100644
--- a/include/glib-compat.h
+++ b/include/glib-compat.h
@@ -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
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* Re: [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
  2018-05-04 16:00 [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42 Daniel P. Berrangé
                   ` (2 preceding siblings ...)
  2018-05-04 16:00 ` [Qemu-devel] [PATCH 3/3] glib: enforce the minimum required version and warn about old APIs Daniel P. Berrangé
@ 2018-05-04 16:35 ` no-reply
  2018-05-04 16:36 ` no-reply
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 29+ messages in thread
From: no-reply @ 2018-05-04 16:35 UTC (permalink / raw)
  To: berrange
  Cc: famz, qemu-devel, peter.maydell, thuth, mdroth, stefanb, olaf,
	armbru, stefanha, pbonzini

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: 20180504160026.14017-1-berrange@redhat.com
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 patchew-devel@redhat.com

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
  2018-05-04 16:00 [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42 Daniel P. Berrangé
                   ` (3 preceding siblings ...)
  2018-05-04 16:35 ` [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42 no-reply
@ 2018-05-04 16:36 ` no-reply
  2018-05-04 19:40 ` Olaf Hering
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 29+ messages in thread
From: no-reply @ 2018-05-04 16:36 UTC (permalink / raw)
  To: berrange
  Cc: famz, qemu-devel, peter.maydell, thuth, mdroth, stefanb, olaf,
	armbru, stefanha, pbonzini

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: 20180504160026.14017-1-berrange@redhat.com
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/1525326811-3233-1-git-send-email-thuth@redhat.com -> patchew/1525326811-3233-1-git-send-email-thuth@redhat.com
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 patchew-devel@redhat.com

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
  2018-05-04 16:00 [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42 Daniel P. Berrangé
                   ` (4 preceding siblings ...)
  2018-05-04 16:36 ` no-reply
@ 2018-05-04 19:40 ` Olaf Hering
  2018-05-04 20:57   ` Daniel P. Berrangé
  2018-05-04 21:00   ` Daniel P. Berrangé
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 29+ messages in thread
From: Olaf Hering @ 2018-05-04 19:40 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: qemu-devel, Peter Maydell, Markus Armbruster, Paolo Bonzini,
	Thomas Huth, Stefan Hajnoczi, Michael Roth, Eric Blake,
	Stefan Berger

[-- Attachment #1: Type: text/plain, Size: 360 bytes --]

Am Fri,  4 May 2018 17:00:23 +0100
schrieb Daniel P. Berrangé <berrange@redhat.com>:

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

[-- Attachment #2: Digitale Signatur von OpenPGP --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [Qemu-devel] [PATCH 2/3] glib: bump min required glib library version to 2.42
  2018-05-04 16:00 ` [Qemu-devel] [PATCH 2/3] glib: bump min required glib library version to 2.42 Daniel P. Berrangé
@ 2018-05-04 20:02   ` Eric Blake
  0 siblings, 0 replies; 29+ messages in thread
From: Eric Blake @ 2018-05-04 20:02 UTC (permalink / raw)
  To: Daniel P. Berrangé, qemu-devel
  Cc: Peter Maydell, Markus Armbruster, Paolo Bonzini, Thomas Huth,
	Olaf Hering, Stefan Hajnoczi, Michael Roth, Stefan Berger

On 05/04/2018 11:00 AM, Daniel P. Berrangé wrote:
> 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)?

> This suggests that a minimum glib of 2.42 is a reasonable target
> 
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---

> +++ b/trace/simple.c
> @@ -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.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
  2018-05-04 19:40 ` Olaf Hering
@ 2018-05-04 20:57   ` Daniel P. Berrangé
  0 siblings, 0 replies; 29+ messages in thread
From: Daniel P. Berrangé @ 2018-05-04 20:57 UTC (permalink / raw)
  To: Olaf Hering
  Cc: qemu-devel, Peter Maydell, Markus Armbruster, Paolo Bonzini,
	Thomas Huth, Stefan Hajnoczi, Michael Roth, Eric Blake,
	Stefan Berger

On Fri, May 04, 2018 at 09:40:06PM +0200, Olaf Hering wrote:
> Am Fri,  4 May 2018 17:00:23 +0100
> schrieb Daniel P. Berrangé <berrange@redhat.com>:
> 
> >   - 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
-- 
|: 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 :|

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
  2018-05-04 16:00 [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42 Daniel P. Berrangé
@ 2018-05-04 21:00   ` Daniel P. Berrangé
  2018-05-04 16:00 ` [Qemu-devel] [PATCH 2/3] glib: bump min required glib library version to 2.42 Daniel P. Berrangé
                     ` (7 subsequent siblings)
  8 siblings, 0 replies; 29+ messages in thread
From: Daniel P. Berrangé @ 2018-05-04 21:00 UTC (permalink / raw)
  To: qemu-devel, xen-devel
  Cc: Peter Maydell, Markus Armbruster, Paolo Bonzini, Thomas Huth,
	Olaf Hering, Stefan Hajnoczi, Michael Roth, Eric Blake,
	Stefan Berger

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

On Fri, May 04, 2018 at 05:00:23PM +0100, Daniel P. Berrangé wrote:
> 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(-)
> 
> -- 
> 2.14.3
> 

Regards,
Daniel
-- 
|: 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 :|

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
@ 2018-05-04 21:00   ` Daniel P. Berrangé
  0 siblings, 0 replies; 29+ messages in thread
From: Daniel P. Berrangé @ 2018-05-04 21:00 UTC (permalink / raw)
  To: qemu-devel, xen-devel
  Cc: Peter Maydell, Thomas Huth, Michael Roth, Stefan Berger,
	Olaf Hering, Markus Armbruster, Stefan Hajnoczi, Paolo Bonzini,
	Eric Blake

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

On Fri, May 04, 2018 at 05:00:23PM +0100, Daniel P. Berrangé wrote:
> 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(-)
> 
> -- 
> 2.14.3
> 

Regards,
Daniel
-- 
|: 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
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
  2018-05-04 16:00 [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42 Daniel P. Berrangé
                   ` (6 preceding siblings ...)
  2018-05-04 21:00   ` Daniel P. Berrangé
@ 2018-05-04 22:05 ` Paolo Bonzini
  2018-05-08 10:42   ` Daniel P. Berrangé
  2018-05-11 22:48 ` [Qemu-devel] Requiring Python 2.7+ (was Re: [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42) Eduardo Habkost
  8 siblings, 1 reply; 29+ messages in thread
From: Paolo Bonzini @ 2018-05-04 22:05 UTC (permalink / raw)
  To: Daniel P. Berrangé, qemu-devel
  Cc: Peter Maydell, Markus Armbruster, Thomas Huth, Olaf Hering,
	Stefan Hajnoczi, Michael Roth, Eric Blake, Stefan Berger

On 04/05/2018 18:00, Daniel P. Berrangé wrote:
> 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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
  2018-05-04 22:05 ` [Qemu-devel] " Paolo Bonzini
@ 2018-05-08 10:42   ` Daniel P. Berrangé
  2018-05-08 11:41     ` Paolo Bonzini
  0 siblings, 1 reply; 29+ messages in thread
From: Daniel P. Berrangé @ 2018-05-08 10:42 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Peter Maydell, Markus Armbruster, Thomas Huth,
	Olaf Hering, Stefan Hajnoczi, Michael Roth, Eric Blake,
	Stefan Berger

On Sat, May 05, 2018 at 12:05:10AM +0200, Paolo Bonzini wrote:
> On 04/05/2018 18:00, Daniel P. Berrangé wrote:
> > 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
-- 
|: 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 :|

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
  2018-05-08 10:42   ` Daniel P. Berrangé
@ 2018-05-08 11:41     ` Paolo Bonzini
  0 siblings, 0 replies; 29+ messages in thread
From: Paolo Bonzini @ 2018-05-08 11:41 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: qemu-devel, Peter Maydell, Markus Armbruster, Thomas Huth,
	Olaf Hering, Stefan Hajnoczi, Michael Roth, Eric Blake,
	Stefan Berger

On 08/05/2018 12:42, Daniel P. Berrangé wrote:
> On Sat, May 05, 2018 at 12:05:10AM +0200, Paolo Bonzini wrote:
>> On 04/05/2018 18:00, Daniel P. Berrangé wrote:
>>> 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....

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

Paolo

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
  2018-05-04 21:00   ` Daniel P. Berrangé
@ 2018-05-08 14:50     ` George Dunlap
  -1 siblings, 0 replies; 29+ messages in thread
From: George Dunlap @ 2018-05-08 14:50 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: qemu-devel, xen-devel, Peter Maydell, Thomas Huth, Michael Roth,
	Stefan Berger, Olaf Hering, Markus Armbruster, Stefan Hajnoczi,
	Paolo Bonzini, Eric Blake, Ian Jackson, Jan Beulich,
	Juergen Gross, Anthony Perard

On Fri, May 4, 2018 at 10:00 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> 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.

>
> On Fri, May 04, 2018 at 05:00:23PM +0100, Daniel P. Berrangé wrote:
>> 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

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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
@ 2018-05-08 14:50     ` George Dunlap
  0 siblings, 0 replies; 29+ messages in thread
From: George Dunlap @ 2018-05-08 14:50 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Juergen Gross, Peter Maydell, Thomas Huth, Jan Beulich,
	Stefan Berger, Markus Armbruster, Ian Jackson, Michael Roth,
	qemu-devel, Olaf Hering, Stefan Hajnoczi, Paolo Bonzini,
	Anthony Perard, xen-devel, Eric Blake

On Fri, May 4, 2018 at 10:00 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> 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.

>
> On Fri, May 04, 2018 at 05:00:23PM +0100, Daniel P. Berrangé wrote:
>> 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

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
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
  2018-05-08 14:50     ` George Dunlap
@ 2018-05-08 15:05       ` Paolo Bonzini
  -1 siblings, 0 replies; 29+ messages in thread
From: Paolo Bonzini @ 2018-05-08 15:05 UTC (permalink / raw)
  To: George Dunlap, Daniel P. Berrangé
  Cc: qemu-devel, xen-devel, Peter Maydell, Thomas Huth, Michael Roth,
	Stefan Berger, Olaf Hering, Markus Armbruster, Stefan Hajnoczi,
	Eric Blake, Ian Jackson, Jan Beulich, Juergen Gross,
	Anthony Perard

On 08/05/2018 16:50, George Dunlap wrote:
> 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

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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
@ 2018-05-08 15:05       ` Paolo Bonzini
  0 siblings, 0 replies; 29+ messages in thread
From: Paolo Bonzini @ 2018-05-08 15:05 UTC (permalink / raw)
  To: George Dunlap, Daniel P. Berrangé
  Cc: Juergen Gross, Peter Maydell, Thomas Huth, Jan Beulich,
	Stefan Berger, Markus Armbruster, Ian Jackson, Michael Roth,
	qemu-devel, Olaf Hering, Stefan Hajnoczi, Anthony Perard,
	xen-devel, Eric Blake

On 08/05/2018 16:50, George Dunlap wrote:
> 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

> 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
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
  2018-05-08 14:50     ` George Dunlap
@ 2018-05-08 15:10       ` Daniel P. Berrangé
  -1 siblings, 0 replies; 29+ messages in thread
From: Daniel P. Berrangé @ 2018-05-08 15:10 UTC (permalink / raw)
  To: George Dunlap
  Cc: qemu-devel, xen-devel, Peter Maydell, Thomas Huth, Michael Roth,
	Stefan Berger, Olaf Hering, Markus Armbruster, Stefan Hajnoczi,
	Paolo Bonzini, Eric Blake, Ian Jackson, Jan Beulich,
	Juergen Gross, Anthony Perard

On Tue, May 08, 2018 at 03:50:49PM +0100, George Dunlap wrote:
> On Fri, May 4, 2018 at 10:00 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> > 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.
> 
> >
> > On Fri, May 04, 2018 at 05:00:23PM +0100, Daniel P. Berrangé wrote:
> >> 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
> 
> 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.

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

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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
@ 2018-05-08 15:10       ` Daniel P. Berrangé
  0 siblings, 0 replies; 29+ messages in thread
From: Daniel P. Berrangé @ 2018-05-08 15:10 UTC (permalink / raw)
  To: George Dunlap
  Cc: Juergen Gross, Peter Maydell, Thomas Huth, Jan Beulich,
	Stefan Berger, Markus Armbruster, Ian Jackson, Michael Roth,
	qemu-devel, Olaf Hering, Stefan Hajnoczi, Paolo Bonzini,
	Anthony Perard, xen-devel, Eric Blake

On Tue, May 08, 2018 at 03:50:49PM +0100, George Dunlap wrote:
> On Fri, May 4, 2018 at 10:00 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> > 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.
> 
> >
> > On Fri, May 04, 2018 at 05:00:23PM +0100, Daniel P. Berrangé wrote:
> >> 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
> 
> 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.

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

> 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
-- 
|: 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
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [Qemu-devel] [PATCH 3/3] glib: enforce the minimum required version and warn about old APIs
  2018-05-04 16:00 ` [Qemu-devel] [PATCH 3/3] glib: enforce the minimum required version and warn about old APIs Daniel P. Berrangé
@ 2018-05-08 15:17   ` Paolo Bonzini
  2018-05-08 15:19     ` Daniel P. Berrangé
  0 siblings, 1 reply; 29+ messages in thread
From: Paolo Bonzini @ 2018-05-08 15:17 UTC (permalink / raw)
  To: Daniel P. Berrangé, qemu-devel
  Cc: Peter Maydell, Markus Armbruster, Thomas Huth, Olaf Hering,
	Stefan Hajnoczi, Michael Roth, Eric Blake, Stefan Berger

On 04/05/2018 18:00, Daniel P. Berrangé wrote:
> 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.

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:

diff --git a/include/glib-compat.h b/include/glib-compat.h
index d066f6d..ef07489 100644
--- a/include/glib-compat.h
+++ b/include/glib-compat.h
@@ -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

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* Re: [Qemu-devel] [PATCH 3/3] glib: enforce the minimum required version and warn about old APIs
  2018-05-08 15:17   ` Paolo Bonzini
@ 2018-05-08 15:19     ` Daniel P. Berrangé
  2018-05-08 16:02       ` Paolo Bonzini
  0 siblings, 1 reply; 29+ messages in thread
From: Daniel P. Berrangé @ 2018-05-08 15:19 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Peter Maydell, Markus Armbruster, Thomas Huth,
	Olaf Hering, Stefan Hajnoczi, Michael Roth, Eric Blake,
	Stefan Berger

On Tue, May 08, 2018 at 05:17:40PM +0200, Paolo Bonzini wrote:
> On 04/05/2018 18:00, Daniel P. Berrangé wrote:
> > 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.
> 
> 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:
> 
> diff --git a/include/glib-compat.h b/include/glib-compat.h
> index d066f6d..ef07489 100644
> --- a/include/glib-compat.h
> +++ b/include/glib-compat.h
> @@ -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.

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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
  2018-05-08 15:10       ` Daniel P. Berrangé
@ 2018-05-08 15:47         ` George Dunlap
  -1 siblings, 0 replies; 29+ messages in thread
From: George Dunlap @ 2018-05-08 15:47 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: qemu-devel, xen-devel, Peter Maydell, Thomas Huth, Michael Roth,
	Stefan Berger, Olaf Hering, Markus Armbruster, Stefan Hajnoczi,
	Paolo Bonzini, Eric Blake, Ian Jackson, Jan Beulich,
	Juergen Gross, Anthony Perard

On Tue, May 8, 2018 at 4:10 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
>> 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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
@ 2018-05-08 15:47         ` George Dunlap
  0 siblings, 0 replies; 29+ messages in thread
From: George Dunlap @ 2018-05-08 15:47 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Juergen Gross, Peter Maydell, Thomas Huth, Jan Beulich,
	Stefan Berger, Markus Armbruster, Ian Jackson, Michael Roth,
	qemu-devel, Olaf Hering, Stefan Hajnoczi, Paolo Bonzini,
	Anthony Perard, xen-devel, Eric Blake

On Tue, May 8, 2018 at 4:10 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
>> 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
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [Qemu-devel] [PATCH 3/3] glib: enforce the minimum required version and warn about old APIs
  2018-05-08 15:19     ` Daniel P. Berrangé
@ 2018-05-08 16:02       ` Paolo Bonzini
  2018-05-08 16:14         ` Daniel P. Berrangé
  0 siblings, 1 reply; 29+ messages in thread
From: Paolo Bonzini @ 2018-05-08 16:02 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: qemu-devel, Peter Maydell, Markus Armbruster, Thomas Huth,
	Olaf Hering, Stefan Hajnoczi, Michael Roth, Eric Blake,
	Stefan Berger

On 08/05/2018 17:19, Daniel P. Berrangé wrote:
> 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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [Qemu-devel] [PATCH 3/3] glib: enforce the minimum required version and warn about old APIs
  2018-05-08 16:02       ` Paolo Bonzini
@ 2018-05-08 16:14         ` Daniel P. Berrangé
  0 siblings, 0 replies; 29+ messages in thread
From: Daniel P. Berrangé @ 2018-05-08 16:14 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Peter Maydell, Markus Armbruster, Thomas Huth,
	Olaf Hering, Stefan Hajnoczi, Michael Roth, Eric Blake,
	Stefan Berger

On Tue, May 08, 2018 at 06:02:55PM +0200, Paolo Bonzini wrote:
> On 08/05/2018 17:19, Daniel P. Berrangé wrote:
> > 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.

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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Qemu-devel] Requiring Python 2.7+ (was Re: [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42)
  2018-05-04 16:00 [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42 Daniel P. Berrangé
                   ` (7 preceding siblings ...)
  2018-05-04 22:05 ` [Qemu-devel] " Paolo Bonzini
@ 2018-05-11 22:48 ` Eduardo Habkost
  2018-05-14  9:33   ` Daniel P. Berrangé
  8 siblings, 1 reply; 29+ messages in thread
From: Eduardo Habkost @ 2018-05-11 22:48 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: qemu-devel, Peter Maydell, Thomas Huth, Michael Roth,
	Stefan Berger, Olaf Hering, Markus Armbruster, Stefan Hajnoczi,
	Paolo Bonzini

On Fri, May 04, 2018 at 05:00:23PM +0100, Daniel P. Berrangé wrote:
[...]
> 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?

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

-- 
Eduardo

^ permalink raw reply	[flat|nested] 29+ messages in thread

* 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)
  2018-05-11 22:48 ` [Qemu-devel] Requiring Python 2.7+ (was Re: [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42) Eduardo Habkost
@ 2018-05-14  9:33   ` Daniel P. Berrangé
  2018-05-14  9:36     ` Peter Maydell
  0 siblings, 1 reply; 29+ messages in thread
From: Daniel P. Berrangé @ 2018-05-14  9:33 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: qemu-devel, Peter Maydell, Thomas Huth, Michael Roth,
	Stefan Berger, Olaf Hering, Markus Armbruster, Stefan Hajnoczi,
	Paolo Bonzini

On Fri, May 11, 2018 at 07:48:23PM -0300, Eduardo Habkost wrote:
> On Fri, May 04, 2018 at 05:00:23PM +0100, Daniel P. Berrangé wrote:
> [...]
> > 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?
> 
> 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
-- 
|: 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 :|

^ permalink raw reply	[flat|nested] 29+ messages in thread

* 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)
  2018-05-14  9:33   ` Daniel P. Berrangé
@ 2018-05-14  9:36     ` Peter Maydell
  0 siblings, 0 replies; 29+ messages in thread
From: Peter Maydell @ 2018-05-14  9:36 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Eduardo Habkost, Thomas Huth, Michael Roth, Stefan Berger,
	Markus Armbruster, Olaf Hering, QEMU Developers, Stefan Hajnoczi,
	Paolo Bonzini

On 14 May 2018 at 10:33, Daniel P. Berrangé <berrange@redhat.com> wrote:
> On Fri, May 11, 2018 at 07:48:23PM -0300, Eduardo Habkost wrote:
>> On Fri, May 04, 2018 at 05:00:23PM +0100, Daniel P. Berrangé wrote:
>> [...]
>> > 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?
>>
>> 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

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2018-05-14  9:36 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-04 16:00 [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42 Daniel P. Berrangé
2018-05-04 16:00 ` [Qemu-devel] [PATCH 1/3] qemu-doc: provide details of supported build platforms Daniel P. Berrangé
2018-05-04 16:00 ` [Qemu-devel] [PATCH 2/3] glib: bump min required glib library version to 2.42 Daniel P. Berrangé
2018-05-04 20:02   ` Eric Blake
2018-05-04 16:00 ` [Qemu-devel] [PATCH 3/3] glib: enforce the minimum required version and warn about old APIs Daniel P. Berrangé
2018-05-08 15:17   ` Paolo Bonzini
2018-05-08 15:19     ` Daniel P. Berrangé
2018-05-08 16:02       ` Paolo Bonzini
2018-05-08 16:14         ` Daniel P. Berrangé
2018-05-04 16:35 ` [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42 no-reply
2018-05-04 16:36 ` no-reply
2018-05-04 19:40 ` Olaf Hering
2018-05-04 20:57   ` Daniel P. Berrangé
2018-05-04 21:00 ` Daniel P. Berrangé
2018-05-04 21:00   ` Daniel P. Berrangé
2018-05-08 14:50   ` [Qemu-devel] [Xen-devel] " George Dunlap
2018-05-08 14:50     ` George Dunlap
2018-05-08 15:05     ` [Qemu-devel] [Xen-devel] " Paolo Bonzini
2018-05-08 15:05       ` Paolo Bonzini
2018-05-08 15:10     ` [Qemu-devel] [Xen-devel] " Daniel P. Berrangé
2018-05-08 15:10       ` Daniel P. Berrangé
2018-05-08 15:47       ` [Qemu-devel] [Xen-devel] " George Dunlap
2018-05-08 15:47         ` George Dunlap
2018-05-04 22:05 ` [Qemu-devel] " Paolo Bonzini
2018-05-08 10:42   ` Daniel P. Berrangé
2018-05-08 11:41     ` Paolo Bonzini
2018-05-11 22:48 ` [Qemu-devel] Requiring Python 2.7+ (was Re: [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42) Eduardo Habkost
2018-05-14  9:33   ` Daniel P. Berrangé
2018-05-14  9:36     ` Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.