All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH] migration: Add missing dependency on GNUTLS
@ 2021-06-14  5:26 Philippe Mathieu-Daudé
  2021-06-14  8:30 ` Daniel P. Berrangé
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-06-14  5:26 UTC (permalink / raw)
  To: qemu-devel
  Cc: Leonardo Bras, Lukas Straub, Daniel P . Berrange, Juan Quintela,
	qemu-trivial, Stefan Weil, Dr. David Alan Gilbert,
	Philippe Mathieu-Daudé

Commit 7de2e856533 made migration/qemu-file-channel.c include
"io/channel-tls.h" but forgot to add the new GNUTLS dependency
on Meson, leading to build failure on OSX:

  [2/35] Compiling C object libmigration.fa.p/migration_qemu-file-channel.c.o
  FAILED: libmigration.fa.p/migration_qemu-file-channel.c.o
  cc -Ilibmigration.fa.p -I. -I.. -Iqapi [ ... ] -o libmigration.fa.p/migration_qemu-file-channel.c.o -c ../migration/qemu-file-channel.c
  In file included from ../migration/qemu-file-channel.c:29:
  In file included from include/io/channel-tls.h:26:
  In file included from include/crypto/tlssession.h:24:
  include/crypto/tlscreds.h:28:10: fatal error: 'gnutls/gnutls.h' file not found
  #include <gnutls/gnutls.h>
           ^~~~~~~~~~~~~~~~~
  1 error generated.

Reported-by: Stefan Weil <sw@weilnetz.de>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/407
Fixes: 7de2e856533 ("yank: Unregister function when using TLS migration")
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
RFC: Not tested on OSX. Stefan, do you know why this isn't covered
     on Cirrus-CI?  https://cirrus-ci.com/build/4876003651616768
---
 migration/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/migration/meson.build b/migration/meson.build
index f8714dcb154..5b5a3f7b337 100644
--- a/migration/meson.build
+++ b/migration/meson.build
@@ -8,7 +8,7 @@
   'qemu-file.c',
   'yank_functions.c',
 )
-softmmu_ss.add(migration_files)
+softmmu_ss.add(migration_files, gnutls)
 
 softmmu_ss.add(files(
   'block-dirty-bitmap.c',
-- 
2.31.1



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

* Re: [RFC PATCH] migration: Add missing dependency on GNUTLS
  2021-06-14  5:26 [RFC PATCH] migration: Add missing dependency on GNUTLS Philippe Mathieu-Daudé
@ 2021-06-14  8:30 ` Daniel P. Berrangé
  2021-06-14  8:44 ` Stefan Weil
  2021-06-15  9:39 ` Peter Maydell
  2 siblings, 0 replies; 5+ messages in thread
From: Daniel P. Berrangé @ 2021-06-14  8:30 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Leonardo Bras, Lukas Straub, Juan Quintela, qemu-trivial,
	Stefan Weil, qemu-devel, Dr. David Alan Gilbert

On Mon, Jun 14, 2021 at 07:26:23AM +0200, Philippe Mathieu-Daudé wrote:
> Commit 7de2e856533 made migration/qemu-file-channel.c include
> "io/channel-tls.h" but forgot to add the new GNUTLS dependency
> on Meson, leading to build failure on OSX:
> 
>   [2/35] Compiling C object libmigration.fa.p/migration_qemu-file-channel.c.o
>   FAILED: libmigration.fa.p/migration_qemu-file-channel.c.o
>   cc -Ilibmigration.fa.p -I. -I.. -Iqapi [ ... ] -o libmigration.fa.p/migration_qemu-file-channel.c.o -c ../migration/qemu-file-channel.c
>   In file included from ../migration/qemu-file-channel.c:29:
>   In file included from include/io/channel-tls.h:26:
>   In file included from include/crypto/tlssession.h:24:
>   include/crypto/tlscreds.h:28:10: fatal error: 'gnutls/gnutls.h' file not found
>   #include <gnutls/gnutls.h>
>            ^~~~~~~~~~~~~~~~~
>   1 error generated.
> 
> Reported-by: Stefan Weil <sw@weilnetz.de>
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/407
> Fixes: 7de2e856533 ("yank: Unregister function when using TLS migration")
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> RFC: Not tested on OSX. Stefan, do you know why this isn't covered
>      on Cirrus-CI?  https://cirrus-ci.com/build/4876003651616768
> ---
>  migration/meson.build | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


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] 5+ messages in thread

* Re: [RFC PATCH] migration: Add missing dependency on GNUTLS
  2021-06-14  5:26 [RFC PATCH] migration: Add missing dependency on GNUTLS Philippe Mathieu-Daudé
  2021-06-14  8:30 ` Daniel P. Berrangé
@ 2021-06-14  8:44 ` Stefan Weil
  2021-06-15  9:39 ` Peter Maydell
  2 siblings, 0 replies; 5+ messages in thread
From: Stefan Weil @ 2021-06-14  8:44 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Leonardo Bras, Lukas Straub, Daniel P . Berrange, Juan Quintela,
	qemu-trivial, Dr. David Alan Gilbert

Am 14.06.21 um 07:26 schrieb Philippe Mathieu-Daudé:

> Commit 7de2e856533 made migration/qemu-file-channel.c include
> "io/channel-tls.h" but forgot to add the new GNUTLS dependency
> on Meson, leading to build failure on OSX:
>
>    [2/35] Compiling C object libmigration.fa.p/migration_qemu-file-channel.c.o
>    FAILED: libmigration.fa.p/migration_qemu-file-channel.c.o
>    cc -Ilibmigration.fa.p -I. -I.. -Iqapi [ ... ] -o libmigration.fa.p/migration_qemu-file-channel.c.o -c ../migration/qemu-file-channel.c
>    In file included from ../migration/qemu-file-channel.c:29:
>    In file included from include/io/channel-tls.h:26:
>    In file included from include/crypto/tlssession.h:24:
>    include/crypto/tlscreds.h:28:10: fatal error: 'gnutls/gnutls.h' file not found
>    #include <gnutls/gnutls.h>
>             ^~~~~~~~~~~~~~~~~
>    1 error generated.
>
> Reported-by: Stefan Weil <sw@weilnetz.de>
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/407
> Fixes: 7de2e856533 ("yank: Unregister function when using TLS migration")
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> RFC: Not tested on OSX. Stefan, do you know why this isn't covered
>       on Cirrus-CI?  https://cirrus-ci.com/build/4876003651616768


Cirrus-CI does not install gnutls. That's easy to fix by adding it to 
the list of installed packages.

And the patch does not fix the issue. I already had tried that and 
similar changes in migration/meson.build.

Regards

Stefan




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

* Re: [RFC PATCH] migration: Add missing dependency on GNUTLS
  2021-06-14  5:26 [RFC PATCH] migration: Add missing dependency on GNUTLS Philippe Mathieu-Daudé
  2021-06-14  8:30 ` Daniel P. Berrangé
  2021-06-14  8:44 ` Stefan Weil
@ 2021-06-15  9:39 ` Peter Maydell
  2021-06-15  9:45   ` Daniel P. Berrangé
  2 siblings, 1 reply; 5+ messages in thread
From: Peter Maydell @ 2021-06-15  9:39 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Leonardo Bras, Lukas Straub, Daniel P . Berrange, Juan Quintela,
	QEMU Trivial, Stefan Weil, QEMU Developers,
	Dr. David Alan Gilbert, Paolo Bonzini

On Mon, 14 Jun 2021 at 06:28, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>
> Commit 7de2e856533 made migration/qemu-file-channel.c include
> "io/channel-tls.h" but forgot to add the new GNUTLS dependency
> on Meson, leading to build failure on OSX:
>
>   [2/35] Compiling C object libmigration.fa.p/migration_qemu-file-channel.c.o
>   FAILED: libmigration.fa.p/migration_qemu-file-channel.c.o
>   cc -Ilibmigration.fa.p -I. -I.. -Iqapi [ ... ] -o libmigration.fa.p/migration_qemu-file-channel.c.o -c ../migration/qemu-file-channel.c
>   In file included from ../migration/qemu-file-channel.c:29:
>   In file included from include/io/channel-tls.h:26:
>   In file included from include/crypto/tlssession.h:24:
>   include/crypto/tlscreds.h:28:10: fatal error: 'gnutls/gnutls.h' file not found
>   #include <gnutls/gnutls.h>
>            ^~~~~~~~~~~~~~~~~
>   1 error generated.
>
> Reported-by: Stefan Weil <sw@weilnetz.de>
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/407
> Fixes: 7de2e856533 ("yank: Unregister function when using TLS migration")
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

Is there really no way to get Meson to handle this kind
of thing properly (ie "just put all the include paths in the CFLAGS
for every compilation") rather than requiring us to add dependency
markers all over the meson.build files every time we add some
extra #include somewhere ? This is demonstrably horribly fragile
the way we have it at the moment :-(

-- PMM


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

* Re: [RFC PATCH] migration: Add missing dependency on GNUTLS
  2021-06-15  9:39 ` Peter Maydell
@ 2021-06-15  9:45   ` Daniel P. Berrangé
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel P. Berrangé @ 2021-06-15  9:45 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Leonardo Bras, Lukas Straub, Juan Quintela, QEMU Trivial,
	Stefan Weil, Philippe Mathieu-Daudé,
	QEMU Developers, Paolo Bonzini, Dr. David Alan Gilbert

On Tue, Jun 15, 2021 at 10:39:08AM +0100, Peter Maydell wrote:
> On Mon, 14 Jun 2021 at 06:28, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
> >
> > Commit 7de2e856533 made migration/qemu-file-channel.c include
> > "io/channel-tls.h" but forgot to add the new GNUTLS dependency
> > on Meson, leading to build failure on OSX:
> >
> >   [2/35] Compiling C object libmigration.fa.p/migration_qemu-file-channel.c.o
> >   FAILED: libmigration.fa.p/migration_qemu-file-channel.c.o
> >   cc -Ilibmigration.fa.p -I. -I.. -Iqapi [ ... ] -o libmigration.fa.p/migration_qemu-file-channel.c.o -c ../migration/qemu-file-channel.c
> >   In file included from ../migration/qemu-file-channel.c:29:
> >   In file included from include/io/channel-tls.h:26:
> >   In file included from include/crypto/tlssession.h:24:
> >   include/crypto/tlscreds.h:28:10: fatal error: 'gnutls/gnutls.h' file not found
> >   #include <gnutls/gnutls.h>
> >            ^~~~~~~~~~~~~~~~~
> >   1 error generated.
> >
> > Reported-by: Stefan Weil <sw@weilnetz.de>
> > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/407
> > Fixes: 7de2e856533 ("yank: Unregister function when using TLS migration")
> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> 
> Is there really no way to get Meson to handle this kind
> of thing properly (ie "just put all the include paths in the CFLAGS
> for every compilation") rather than requiring us to add dependency
> markers all over the meson.build files every time we add some
> extra #include somewhere ? This is demonstrably horribly fragile
> the way we have it at the moment :-(

A better way to fix this might be to figure out a change to make the
crypto struct definitions be private in the .c file, since the public
callers should not need to see them. That would let us remove the
#include for gnutls from the header.

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] 5+ messages in thread

end of thread, other threads:[~2021-06-15  9:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-14  5:26 [RFC PATCH] migration: Add missing dependency on GNUTLS Philippe Mathieu-Daudé
2021-06-14  8:30 ` Daniel P. Berrangé
2021-06-14  8:44 ` Stefan Weil
2021-06-15  9:39 ` Peter Maydell
2021-06-15  9:45   ` Daniel P. Berrangé

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.