When version app-office/gnucash-3.3 was marked stable it failed to build on my machine because of missing symbols in webkit-gtk. After poking around a little I realized that the missing functions had been disabled in webkit-gtk because I was building it without the `opengl` flag (which is on by default). After turning the flag back on I could install gnucash w/o further issues. Reproducible: Always Steps to Reproduce: 1. Install webkit-gtk with the opengl USE flag disabled: env USE="-opengl" emerge =net-libs/webkit-gtk-2.22.2 2. Try installing app-office/gnucash-3.3 with default USE flags: emerge =app-office/gnucash-3.3 Actual Results: Compilation fails at link time because of missing symbols in webkit-gtk Expected Results: emerge prompts the user to add the opengl USE flag to the webkit-gtk package in order to build gnucash
Please share actual logs of the build failure. Before rushing to add a webkit-gtk[opengl] dep, please remember that webkit-gtk[gles2] exists as well.
Created attachment 555288 [details] gnucash build log Sure, here's the build log. And this is the output of `equery uses webkit-gtk`: * Found these USE flags for net-libs/webkit-gtk-2.22.2: U I + + X : Add support for X11 - - coverage : Enable code coverage support - - doc : Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally + - egl : Enable EGL support - - geolocation : Enable geolocation support through app-misc/geoclue - - gles2 : Enable GLESv2 support - - gnome-keyring : Enable support for storing passwords via gnome-keyring - - gstreamer : Add support for media-libs/gstreamer (Streaming media) - - introspection : Add support for GObject based introspection + + jit : Enable just-in-time compilation for improved performance. May prevent use of some PaX memory protection features in Gentoo Hardened. + + libnotify : Enable desktop notification support - - nsplugin : Enable full nsplugin support (GTK2 plugins) - - opengl : Add support for OpenGL (3D graphics) - - spell : Add dictionary support - - test : Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently) - - wayland : Enable dev-libs/wayland backend - - webgl : Build support for the WebGL HTML API using virtual/opengl
Out of curiosity I rebuilt webkit-gtk with USE="-opengl gles2" and then gnucash and it builds fine. So it fails only if both the "opengl" and "gles" flag are disabled in webkit-gtk.
It doesn't feel related to gnucash at all. Do you get failures of other webkit-gtk consumers when both these GL flags are disabled on the installed webkit-gtk?
(In reply to Mart Raudsepp from comment #4) > It doesn't feel related to gnucash at all. Do you get failures of other > webkit-gtk consumers when both these GL flags are disabled on the installed > webkit-gtk? I tried installing liferea and it failed with the same error as gnucash. I'll attach the log.
Created attachment 555708 [details] liferea build log
*** Bug 669028 has been marked as a duplicate of this bug. ***
I'm afraid I will need to add a REQUIRED_USE requirement to enable either opengl or gles2 until this is looked at upstream. Please note that non-GL builds are there from upstream ONLY for things like embedded use cases on a proprietary graphics stack that runs without mesa (for EGL) and such. It is a very very bad idea to disable GL for webkit-gtk on a desktop install, and that's why we also default enable opengl in the ebuild. You don't lose just WebGL, but various performance optimizations and improvements in webkit itself too; like in this example async scrolling (once it's made to get disabled without GL for linking to not fail like this).
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5fdb99434f2f0b64ca23dd516458c78421143872 commit 5fdb99434f2f0b64ca23dd516458c78421143872 Author: Mart Raudsepp <leio@gentoo.org> AuthorDate: 2018-11-27 08:31:23 +0000 Commit: Mart Raudsepp <leio@gentoo.org> CommitDate: 2018-11-27 09:57:19 +0000 net-libs/webkit-gtk: sec bump to 2.22.4; require GL * Security bump to 2.22.4 for WSA-2018-0008 * Builds without GL (opengl or gles2) are currently broken, thus REQUIRED_USE it. * Stop requiring gstreamer for introspection - seems to work fine without by now. * GstreamerGL requires EGL, so REQUIRED_USE it by requiring EGL if USE="gstreamer opengl" (USE="gstreamer gles2" is already covered by gles2 itself also requiring egl). * Raise gstreamer deps to ensure working MSE, as hopefully we can handle the stabilization of newer gst-plugins-opus for this security stabilization round. * Add references to upstream bugs above REQUIRED_USE - we should monitor them on bumps to relax the requirements when/if the upstream bugs are fixed. Closes: https://bugs.gentoo.org/671002 Signed-off-by: Mart Raudsepp <leio@gentoo.org> Package-Manager: Portage-2.3.52, Repoman-2.3.11 net-libs/webkit-gtk/Manifest | 1 + net-libs/webkit-gtk/webkit-gtk-2.22.4.ebuild | 279 +++++++++++++++++++++++++++ 2 files changed, 280 insertions(+)
*** Bug 672828 has been marked as a duplicate of this bug. ***
*** Bug 673500 has been marked as a duplicate of this bug. ***