After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 773946 - vaapi: egl: build with libva-wayland cflags
vaapi: egl: build with libva-wayland cflags
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer-vaapi
1.10.0
Other Linux
: Normal normal
: 1.8.4
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 748634
 
 
Reported: 2016-11-04 16:20 UTC by Bjørn Lie
Modified: 2016-11-25 09:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Build: Add LIBVA_WAYLAND_CFLAGS when bulding libgstvaapi_egl.la (1.45 KB, patch)
2016-11-24 20:23 UTC, Dominique Leuenberger
committed Details | Review

Description Bjørn Lie 2016-11-04 16:20:44 UTC
On openSUSE wayland is built with a custom includedir (upstream supported option)

aka /usr/include/wayland/*

When trying to build new 1.10.0 gstreamer-vaapi, compilation fails as it does not find wayland header files.

[  233s]   CC       libgstvaapi_glx_la-gstvaapidisplay_glx.lo
[  233s]   CC       libgstvaapi_glx_la-gstvaapitexture_glx.lo
[  234s]   CC       libgstvaapi_glx_la-gstvaapiutils_glx.lo
[  235s]   CC       libgstvaapi_glx_la-gstvaapiwindow_glx.lo
[  235s]   CC       libgstvaapi_egl_la-gstvaapidisplay_egl.lo
[  236s]   CC       libgstvaapi_egl_la-gstvaapisurface_egl.lo
[  237s] In file included from gstvaapidisplay_wayland.h:27:0,
[  237s]                  from gstvaapidisplay_egl.c:35:
[  237s] /usr/include/va/va_wayland.h:31:28: fatal error: wayland-client.h: No such file or directory
[  237s]  #include <wayland-client.h>
[  237s]                             ^
[  237s] compilation terminated.
[  237s] make[5]: *** [Makefile:1256: libgstvaapi_egl_la-gstvaapidisplay_egl.lo] Error 1
[  237s] make[5]: *** Waiting for unfinished jobs....
[  238s] make[5]: Leaving directory '/home/abuild/rpmbuild/BUILD/gstreamer-vaapi-1.10.0/gst-libs/gst/vaapi'
[  238s] make[4]: *** [Makefile:1073: all] Error 2
[  238s] make[4]: Leaving directory '/home/abuild/rpmbuild/BUILD/gstreamer-vaapi-1.10.0/gst-libs/gst/vaapi'
[  238s] make[3]: *** [Makefile:469: all-recursive] Error 1
[  238s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/gstreamer-vaapi-1.10.0/gst-libs/gst'

Looks like gst-vaapi does not actually read the .pc file

From the logfile, it might be that the fault is really inside libva, but filing bug here since this is where the problem manifested itself.
Comment 1 Víctor Manuel Jáquez Leal 2016-11-14 12:46:39 UTC
Hi, 

I agree on this is a bug related with libva, not gstreamer-vaapi, as you said.

Did you open a bug there in libva's tracker?

https://bugs.freedesktop.org/enter_bug.cgi?product=libva
Comment 2 Bjørn Lie 2016-11-15 13:17:11 UTC
(In reply to Víctor Manuel Jáquez Leal from comment #1)
> Hi, 
> 
> I agree on this is a bug related with libva, not gstreamer-vaapi, as you
> said.
> 
> Did you open a bug there in libva's tracker?
> 
> https://bugs.freedesktop.org/enter_bug.cgi?product=libva

No I haven't yet, as I wanted feedback from gst-vaapi maintainers first.

I'll open a bug there and link it back to this one.
Comment 4 Dominique Leuenberger 2016-11-24 20:23:05 UTC
Created attachment 340714 [details] [review]
Build: Add LIBVA_WAYLAND_CFLAGS when bulding libgstvaapi_egl.la

In case libva-wayland has its headers not installed in default
locations (like /usr/include), the build fails to include "wayland-client.h":

   CC       libgstvaapi_egl_la-gstvaapiutils_egl.lo
 In file included from gstvaapidisplay_wayland.h:27:0,
                  from gstvaapidisplay_egl.c:35:
 /usr/include/va/va_wayland.h:31:28: fatal error: wayland-client.h: No such file or directory
  #include <wayland-client.h>

As we already passed VA_CLAGS, /usr/include/va/va_wayland.h could be found, but it is
our fault not to instruct the system that we ALSO care for va_wayland. We correctly query
for libva-wayland.pc in configure and use this in other places as well. It is thus only
correct and consequent, to do it also at this spot.
Comment 5 Dominique Leuenberger 2016-11-24 20:29:15 UTC
By debugging this, I'm afraid I have to point the bug back here: libva does everything right, it correctly specifies all the paths needed in it's .pc files;

just we also have to make use of them
Comment 6 Víctor Manuel Jáquez Leal 2016-11-25 08:59:59 UTC
This also needs to be backported to 1.8 and 1.10
Comment 7 Tim-Philipp Müller 2016-11-25 09:20:14 UTC
> This also needs to be backported to 1.8 and 1.10

You'll backport + push these into 1.8/1.10, yes?
Comment 8 Víctor Manuel Jáquez Leal 2016-11-25 09:34:56 UTC
(In reply to Tim-Philipp Müller from comment #7)
> > This also needs to be backported to 1.8 and 1.10
> 
> You'll backport + push these into 1.8/1.10, yes

yup
Comment 9 Víctor Manuel Jáquez Leal 2016-11-25 09:35:20 UTC
97e913a (origin/1.10) build: add LIBVA_WAYLAND_CFLAGS to libgstvaapiegl
Comment 10 Víctor Manuel Jáquez Leal 2016-11-25 09:38:21 UTC
c0d2742 (origin/1.8) build: add LIBVA_WAYLAND_CFLAGS to libgstvaapiegl
Comment 11 Víctor Manuel Jáquez Leal 2016-11-25 09:42:55 UTC
Thanks Bjørn!
Comment 12 Bjørn Lie 2016-11-25 09:44:50 UTC
(In reply to Víctor Manuel Jáquez Leal from comment #11)
> Thanks Bjørn!

No, thanks goes to Dominique - I only filed the bug :-)
Comment 13 Víctor Manuel Jáquez Leal 2016-11-25 09:52:44 UTC
(In reply to Bjørn Lie from comment #12)
> (In reply to Víctor Manuel Jáquez Leal from comment #11)
> > Thanks Bjørn!
> 
> No, thanks goes to Dominique - I only filed the bug :-)

Thanks Dominique :) thanks both !