Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 717888

Summary: net-libs/webkit-gtk-2.28.1: fails to compile when opengl flag is set
Product: Gentoo Linux Reporter: David Heidelberg (okias) <david>
Component: Current packagesAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED FIXED    
Severity: normal CC: it, reagentoo, sam, vilhelm.gray
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.webkit.org/show_bug.cgi?id=208907
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 712260    
Attachments: build.log
emerge --info

Description David Heidelberg (okias) 2020-04-17 11:48:03 UTC
Don't have whole log right now, but it says something about:

"initializeOpenGLShims"

It does compile with:
USE="egl geolocation gnome-keyring gstreamer introspection jpeg2k jumbo-build libnotify (seccomp) spell wayland -X (-aqua) -coverage -gles2-only -gtk-doc -opengl -test"
It doesn't compile with:
USE="egl geolocation gnome-keyring gstreamer introspection jpeg2k jumbo-build libnotify opengl* (seccomp) spell wayland -X (-aqua) -coverage -gles2-only -gtk-doc -test"


Portage 2.3.99 (python 3.7.7-final-0, default/linux/amd64/17.1/desktop/gnome/systemd, gcc-9.3.0, glibc-2.30-r8, 5.6.4 x86_64)
=================================================================
System uname: Linux-5.6.4-x86_64-Intel-R-_Core-TM-_i7-6600U_CPU_@_2.60GHz-with-gentoo-2.7
KiB Mem:     8059456 total,   5004364 free
KiB Swap:    1007428 total,    996164 free
Timestamp of repository gentoo: Thu, 16 Apr 2020 18:00:01 +0000
Head commit of repository gentoo: b6b1643b63d91737eb8b2f2d41123bb2491eccbb
Head commit of repository flatpak-overlay: 2bcc4b030ff8288683533a84f15777680c8c883e

sh bash 5.0_p16
ld GNU gold (Gentoo 2.32 p2 2.32.0) 1.16
app-shells/bash:          5.0_p16::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.30.2::gentoo
dev-lang/python:          2.7.17-r2::gentoo, 3.7.7-r1::gentoo, 3.8.2-r1::gentoo
dev-util/cmake:           3.17.1::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/sandbox:         2.18::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake:       1.11.6-r3::gentoo, 1.13.4-r2::gentoo, 1.14.1-r2::gentoo, 1.15.1-r2::gentoo, 1.16.2::gentoo
sys-devel/binutils:       2.32-r1::gentoo, 2.33.1::gentoo, 2.34::gentoo
sys-devel/gcc:            9.3.0::gentoo
sys-devel/gcc-config:     2.2.1::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.6::gentoo (virtual/os-headers)
sys-libs/glibc:           2.30-r8::gentoo


Reproducible: Always
Comment 1 David Heidelberg (okias) 2020-04-17 11:48:53 UTC
I forgot to mention, system is up-to-date with ~amd64, rebuild yesterday.
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2020-04-17 18:51:25 UTC
Please attach the full log when you get a chance.
Comment 3 Dmitriy Baranov 2020-04-19 13:35:14 UTC
Created attachment 633712 [details]
build.log
Comment 4 Dmitriy Baranov 2020-04-19 13:35:51 UTC
Created attachment 633714 [details]
emerge --info
Comment 5 Yuriy Dmitriev 2020-04-20 21:46:42 UTC
Same 1:1 error. Build log 1:1 as my build.log. Same filename wich fails to compile. Same arch. ~amd64.
Folks, problem really exists.

My use:

~ $ emerge -vp webkit-gtk

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] net-libs/webkit-gtk-2.28.1:4/37::x-portage [2.26.4-r1:4/37::x-portage] USE="egl gstreamer introspection jpeg2k jumbo-build openg
l (seccomp) wayland -X (-aqua) -coverage -geolocation -gles2-only -gnome-keyring -gtk-doc -libnotify -spell -test" 0 KiB

Total: 1 package (1 upgrade), Size of downloads: 0 KiB

With best wishes - Y.D.
Comment 6 Yuriy Dmitriev 2020-04-20 21:49:01 UTC
My custom ebuild differs one line from original ebuild.
I added
-DENABLE_MINIBROWSER=ON
Comment 7 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2020-04-23 00:54:41 UTC
@maintainer(s): ping. Any further on this?
Comment 8 cyrillic 2020-04-24 18:41:54 UTC
I am getting the same error with USE="-X opengl" , but the way I usually emerge it is with USE="X opengl" , and this works fine.
Comment 9 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2020-04-24 19:00:40 UTC
I wonder if the situation has improved with 2.28.2.
Comment 10 Dmitriy Baranov 2020-04-24 19:06:42 UTC
I've gotten fail with USE="X opengl":

[ebuild     U ] net-libs/webkit-gtk-2.28.1 [2.26.4-r1] USE="X* egl geolocation gnome-keyring gstreamer introspection jpeg2k jumbo-build opengl (seccomp) wayland (-aqua) -coverage -gles2-only -gtk-doc -libnotify -spell -test"

...
ninja: build stopped: subcommand failed.
 * ERROR: net-libs/webkit-gtk-2.28.1::gentoo failed (compile phase):
 *   ninja -v -j3 -l0 failed
Comment 11 Dmitriy Baranov 2020-04-24 19:10:37 UTC
USE="X opengl":

/var/tmp/portage/net-libs/webkit-gtk-2.28.1/work/webkitgtk-2.28.1/Source/WebCore/platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp:33:10: fatal error: gst/gl/x11/gstgldisplay_x11.h: No such file or directory
   33 | #include <gst/gl/x11/gstgldisplay_x11.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Comment 12 cyrillic 2020-04-24 19:23:30 UTC
(In reply to reagentoo from comment #11)
> fatal error: gst/gl/x11/gstgldisplay_x11.h: No such file or directory

Your gstreamer installation probably needs USE="X" as well.
Comment 13 cyrillic 2020-04-24 19:56:57 UTC
(In reply to Sam James (sec padawan) from comment #9)
> I wonder if the situation has improved with 2.28.2.

I just tried 2.28.2 with the same results.

USE="X opengl" : works

USE="-X opengl" : /tmp/portage/net-libs/webkit-gtk-2.28.2/work/webkitgtk-2.28.2/Source/WebCore/platform/graphics/GLContext.cpp:66:19: error: use of undeclared identifier 'initializeOpenGLShims'
Comment 14 cyrillic 2020-04-24 20:10:15 UTC
This is the interesting part of GLContext.cpp :

static bool initializeOpenGLShimsIfNeeded()
{
#if USE(OPENGL_ES) || USE(LIBEPOXY)
    return true;
#else
    static bool initialized = false;
    static bool success = true;
    if (!initialized) {
        success = initializeOpenGLShims();
        initialized = true;
    }
    return success;
#endif
}

It looks like the shims are not needed if you use gles2 instead of opengl.

ps. I have not tried this configuration yet.
Comment 15 Yuriy Dmitriev 2020-04-24 20:22:43 UTC
(In reply to cyrillic from comment #13)
> (In reply to Sam James (sec padawan) from comment #9)
> > I wonder if the situation has improved with 2.28.2.
> 
> I just tried 2.28.2 with the same results.
> 
> USE="X opengl" : works

USE="-X -opengl" : also works

In my system, I do not have X server. Pure wayland. 
webkit-gtk nice work without LARGE Xorg deps. Gstreamer also work. No problem with YouTube and VLC player.

> 
> USE="-X opengl" :
> /tmp/portage/net-libs/webkit-gtk-2.28.2/work/webkitgtk-2.28.2/Source/WebCore/
> platform/graphics/GLContext.cpp:66:19: error: use of undeclared identifier
> 'initializeOpenGLShims'
Comment 16 Larry the Git Cow gentoo-dev 2020-05-09 20:40:10 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cad04281bde21306bed8efe2fb68e6cc955bdab4

commit cad04281bde21306bed8efe2fb68e6cc955bdab4
Author:     Mart Raudsepp <leio@gentoo.org>
AuthorDate: 2020-05-09 19:16:08 +0000
Commit:     Mart Raudsepp <leio@gentoo.org>
CommitDate: 2020-05-09 20:39:33 +0000

    net-libs/webkit-gtk: bump to 2.28.2, fix various build issues
    
    Fix build issue when ccache is found.
    Try to fix various opengl without X build issues.
    USE="gstreamer X" requires gst-plugins-base[X].
    
    Includes a few patches that have been marked as 2.28.3 candidates by
    upstream.
    
    Closes: https://bugs.gentoo.org/717888
    Bug: https://bugs.gentoo.org/712260
    Package-Manager: Portage-2.3.84, Repoman-2.3.20
    Signed-off-by: Mart Raudsepp <leio@gentoo.org>

 net-libs/webkit-gtk/Manifest                       |   1 +
 .../webkit-gtk/files/2.28.2-fix-ppc64-JSC.patch    |  59 +++++
 .../files/2.28.2-fix-yelp-desktopless-build.patch  |  53 ++++
 .../files/2.28.2-opengl-without-X-fixes.patch      |  53 ++++
 .../files/2.28.2-use-gst-audiointerleave.patch     |  55 ++++
 net-libs/webkit-gtk/webkit-gtk-2.28.2.ebuild       | 291 +++++++++++++++++++++
 6 files changed, 512 insertions(+)