Bug 204108

Summary: [GTK] fails to build against headers provided by libglvnd
Product: WebKit Reporter: Alexander Tsoy <alexander>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: aperez, bugs-noreply, devurandom
Priority: P2    
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
eglmesaext-include.patch none

Description Alexander Tsoy 2019-11-12 03:04:08 PST
Created attachment 383344 [details]
eglmesaext-include.patch

webkit-gtk relies on EGL/eglmesaext.h header. This header is indirectly included via EGL/eglext.h when building against mesa. But this is not the case with headers provided by libglvnd.

Build error:

/tmp/portage/net-libs/webkit-gtk-2.24.4/work/webkitgtk-2.24.4/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp: In member function ‘void* WebKit::WaylandCompositor::Buffer::createImage() const’:
/tmp/portage/net-libs/webkit-gtk-2.24.4/work/webkitgtk-2.24.4/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp:134:116: error: ‘EGL_WAYLAND_BUFFER_WL’ was not declared in this scope
  134 |     return static_cast<EGLImageKHR*>(eglCreateImage(PlatformDisplay::sharedDisplay().eglDisplay(), EGL_NO_CONTEXT, EGL_WAYLAND_BUFFER_WL, m_resource, nullptr));
      |                                                                                                                    ^~~~~~~~~~~~~~~~~~~~~   

Attached patch fixes this issue for me.

Downstream bug: https://bugs.gentoo.org/699054
Comment 1 Alexander Tsoy 2019-11-14 16:41:27 PST
mesa-19.3 will remove this #include from public headers as well:
https://cgit.freedesktop.org/mesa/mesa/commit/?h=staging/19.3&id=87efb9f3a4f366372bc873dee741a2c2f272e5c9
Comment 2 Adrian Perez 2020-07-23 15:43:01 PDT
This has been fixed in r253553 :]

*** This bug has been marked as a duplicate of bug 205250 ***