diff mbox series

ui: dbus-display requires CONFIG_GBM

Message ID 20220728064143.209559-1-pbonzini@redhat.com
State New
Headers show
Series ui: dbus-display requires CONFIG_GBM | expand

Commit Message

Paolo Bonzini July 28, 2022, 6:41 a.m. UTC
Without CONFIG_GBM, compiling dbus-display fails with

../ui/dbus.c: In function ‘dbus_create_context’:
../ui/dbus.c:47:20: error: ‘qemu_egl_rn_ctx’ undeclared (first use in this function); did you mean ‘qemu_egl_init_ctx’?
   47 |                    qemu_egl_rn_ctx);
      |                    ^~~~~~~~~~~~~~~
      |                    qemu_egl_init_ctx
../ui/dbus.c:47:20: note: each undeclared identifier is reported only once for each function it appears in

and many other similar errors, because include/ui/egl-helpers.h only has
these declaration if gbm is found on the system.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 meson.build    | 4 ++--
 ui/meson.build | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

Comments

Daniel P. Berrangé July 28, 2022, 8:46 a.m. UTC | #1
On Thu, Jul 28, 2022 at 08:41:43AM +0200, Paolo Bonzini wrote:
> Without CONFIG_GBM, compiling dbus-display fails with
> 
> ../ui/dbus.c: In function ‘dbus_create_context’:
> ../ui/dbus.c:47:20: error: ‘qemu_egl_rn_ctx’ undeclared (first use in this function); did you mean ‘qemu_egl_init_ctx’?
>    47 |                    qemu_egl_rn_ctx);
>       |                    ^~~~~~~~~~~~~~~
>       |                    qemu_egl_init_ctx
> ../ui/dbus.c:47:20: note: each undeclared identifier is reported only once for each function it appears in
> 
> and many other similar errors, because include/ui/egl-helpers.h only has
> these declaration if gbm is found on the system.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  meson.build    | 4 ++--
>  ui/meson.build | 2 +-
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index 9b67db0d67..38403d2892 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1697,8 +1697,8 @@ dbus_display = get_option('dbus_display') \
>             error_message: '-display dbus requires glib>=2.64') \
>    .require(gdbus_codegen.found(),
>             error_message: '-display dbus requires gdbus-codegen') \
> -  .require(opengl.found(),
> -           error_message: '-display dbus requires epoxy/egl') \
> +  .require(opengl.found() and gbm.found(),
> +           error_message: '-display dbus requires epoxy/egl and gbm') \
>    .allowed()
>  
>  have_virtfs = get_option('virtfs') \
> diff --git a/ui/meson.build b/ui/meson.build
> index e9f48c5315..ec13949776 100644
> --- a/ui/meson.build
> +++ b/ui/meson.build
> @@ -81,7 +81,7 @@ if dbus_display
>                                            '--interface-prefix', 'org.qemu.',
>                                            '--c-namespace', 'QemuDBus',
>                                            '--generate-c-code', '@BASENAME@'])
> -  dbus_ss.add(when: [gio, pixman, opengl],
> +  dbus_ss.add(when: [gio, pixman, opengl, gbm],
>                if_true: [files(
>                  'dbus-chardev.c',
>                  'dbus-clipboard.c',

Another fix was already posted a few days ago:

  https://lists.gnu.org/archive/html/qemu-devel/2022-07/msg04420.html


but your patch looks slightly more correct, as it also adds the
gbm lib to dbus_ss.

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

With regards,
Daniel
Marc-André Lureau July 28, 2022, 9:46 a.m. UTC | #2
On Thu, Jul 28, 2022 at 10:41 AM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> Without CONFIG_GBM, compiling dbus-display fails with
>
> ../ui/dbus.c: In function ‘dbus_create_context’:
> ../ui/dbus.c:47:20: error: ‘qemu_egl_rn_ctx’ undeclared (first use in this function); did you mean ‘qemu_egl_init_ctx’?
>    47 |                    qemu_egl_rn_ctx);
>       |                    ^~~~~~~~~~~~~~~
>       |                    qemu_egl_init_ctx
> ../ui/dbus.c:47:20: note: each undeclared identifier is reported only once for each function it appears in
>
> and many other similar errors, because include/ui/egl-helpers.h only has
> these declaration if gbm is found on the system.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

As Daniel said, wfm:

+ you can mention https://gitlab.com/qemu-project/qemu/-/issues/1108

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>


> ---
>  meson.build    | 4 ++--
>  ui/meson.build | 2 +-
>  2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/meson.build b/meson.build
> index 9b67db0d67..38403d2892 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1697,8 +1697,8 @@ dbus_display = get_option('dbus_display') \
>             error_message: '-display dbus requires glib>=2.64') \
>    .require(gdbus_codegen.found(),
>             error_message: '-display dbus requires gdbus-codegen') \
> -  .require(opengl.found(),
> -           error_message: '-display dbus requires epoxy/egl') \
> +  .require(opengl.found() and gbm.found(),
> +           error_message: '-display dbus requires epoxy/egl and gbm') \
>    .allowed()
>
>  have_virtfs = get_option('virtfs') \
> diff --git a/ui/meson.build b/ui/meson.build
> index e9f48c5315..ec13949776 100644
> --- a/ui/meson.build
> +++ b/ui/meson.build
> @@ -81,7 +81,7 @@ if dbus_display
>                                            '--interface-prefix', 'org.qemu.',
>                                            '--c-namespace', 'QemuDBus',
>                                            '--generate-c-code', '@BASENAME@'])
> -  dbus_ss.add(when: [gio, pixman, opengl],
> +  dbus_ss.add(when: [gio, pixman, opengl, gbm],
>                if_true: [files(
>                  'dbus-chardev.c',
>                  'dbus-clipboard.c',
> --
> 2.36.1
>
diff mbox series

Patch

diff --git a/meson.build b/meson.build
index 9b67db0d67..38403d2892 100644
--- a/meson.build
+++ b/meson.build
@@ -1697,8 +1697,8 @@  dbus_display = get_option('dbus_display') \
            error_message: '-display dbus requires glib>=2.64') \
   .require(gdbus_codegen.found(),
            error_message: '-display dbus requires gdbus-codegen') \
-  .require(opengl.found(),
-           error_message: '-display dbus requires epoxy/egl') \
+  .require(opengl.found() and gbm.found(),
+           error_message: '-display dbus requires epoxy/egl and gbm') \
   .allowed()
 
 have_virtfs = get_option('virtfs') \
diff --git a/ui/meson.build b/ui/meson.build
index e9f48c5315..ec13949776 100644
--- a/ui/meson.build
+++ b/ui/meson.build
@@ -81,7 +81,7 @@  if dbus_display
                                           '--interface-prefix', 'org.qemu.',
                                           '--c-namespace', 'QemuDBus',
                                           '--generate-c-code', '@BASENAME@'])
-  dbus_ss.add(when: [gio, pixman, opengl],
+  dbus_ss.add(when: [gio, pixman, opengl, gbm],
               if_true: [files(
                 'dbus-chardev.c',
                 'dbus-clipboard.c',