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

Bug 669028

Summary: mail-client/evolution-3.24.6 with net-libs/webkit-gtk-2.22.2 - /usr/lib64/libwebkit2gtk-4.0.so: undefined reference to `WebCore::LayerRepresentation::makePlatformLayerTypeless(WebCore::TextureMapperPlatformLayer*)'
Product: Gentoo Linux Reporter: 3uklz9+cwyw433xfnykw
Component: Current packagesAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED DUPLICATE    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description 3uklz9+cwyw433xfnykw 2018-10-19 17:22:11 UTC
After recent webkit-gtk upgrade, running evolution gives:

evolution: symbol lookup error: /usr/lib64/libwebkit2gtk-4.0.so.37: undefined symbol: _ZN7WebCore19LayerRepresentation20releasePlatformLayerEPv

It worked fine with previous net-libs/webkit-gtk-2.20.4, but I can't downgrade to it, because it's been removed.

For some reason there's only 1 version of net-libs/webkit-gtk in portage.
Why don't you keep a couple of older versions (as unstable or masked if needed)?

I think webkit-gtk's mainteiners are a bit to bold in zapping older versions and keeping just one.

Recompiling evolution doesn't work:

/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../lib64/libwebkit2gtk-4.0.so: undefined reference to `WebCore::LayerRepresentation::makePlatformLayerTypeless(WebCore::TextureMapperPlatformLayer*)'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../lib64/libwebkit2gtk-4.0.so: undefined reference to `WebCore::LayerRepresentation::releasePlatformLayer(void*)'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../lib64/libwebkit2gtk-4.0.so: undefined reference to `WebCore::LayerRepresentation::retainPlatformLayer(void*)'
collect2: error: ld returned 1 exit status

I tried with newer unstable mail-client/evolution-3.26.6, but doesn't link either.
Comment 1 cyrillic 2018-10-20 20:52:14 UTC
I think you need to do gnome-extra/evolution-data-server before mail-client/evolution and they need to be matching versions.
Comment 2 3uklz9+cwyw433xfnykw 2018-10-22 17:02:52 UTC
I tried your idea. Remerging evolution-data-server works:

>>> gnome-extra/evolution-data-server-3.24.7 merged.

But then remerging evolution fails, with the same error I've shown.
Comment 3 3uklz9+cwyw433xfnykw 2018-10-23 07:16:53 UTC
I thought: if some symbols are not found, maybe remerging webkit-gtk with more USE flags will help.

USE='X coverage doc gnomekeyring jit libnotify nsplugin spell' emerge -1av webkit-gtk

However, this also failed:

[2541/2635] /usr/bin/cmake -E cmake_symlink_library lib/libwebkit2gtk-4.0.so.37.33.3  lib/libwebkit2gtk-4.0.so.37 lib/libwebkit2gtk-4.0.so && :
[2542/2635] cd /var/tmp/portage/net-libs/webkit-gtk-2.22.2/work/webkit-gtk-2.22.2_build && /usr/bin/cmake -E env CC=/usr/bin/x86_64-pc-linux-gnu-gcc "CFLAGS=-fdiagnostics-color=always -Wno-expansion-to-defined -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wextra -Wall -O1 -fno-strict-aliasing -fno-strict-aliasing -fno-exceptions -Wno-unused-parameter" /var/tmp/portage/net-libs/webkit-gtk-2.22.2/work/webkitgtk-2.22.2/Tools/gtk/generate-gtkdoc && touch docs-build.stamp
FAILED: docs-build.stamp 
cd /var/tmp/portage/net-libs/webkit-gtk-2.22.2/work/webkit-gtk-2.22.2_build && /usr/bin/cmake -E env CC=/usr/bin/x86_64-pc-linux-gnu-gcc "CFLAGS=-fdiagnostics-color=always -Wno-expansion-to-defined -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wextra -Wall -O1 -fno-strict-aliasing -fno-strict-aliasing -fno-exceptions -Wno-unused-parameter" /var/tmp/portage/net-libs/webkit-gtk-2.22.2/work/webkitgtk-2.22.2/Tools/gtk/generate-gtkdoc && touch docs-build.stamp
/var/tmp/portage/net-libs/webkit-gtk-2.22.2/work/webkit-gtk-2.22.2_build/lib/libwebkit2gtk-4.0.so: undefined reference to `WebCore::LayerRepresentation::makePlatformLayerTypeless(WebCore::TextureMapperPlatformLayer*)'
/var/tmp/portage/net-libs/webkit-gtk-2.22.2/work/webkit-gtk-2.22.2_build/lib/libwebkit2gtk-4.0.so: undefined reference to `WebCore::LayerRepresentation::releasePlatformLayer(void*)'
/var/tmp/portage/net-libs/webkit-gtk-2.22.2/work/webkit-gtk-2.22.2_build/lib/libwebkit2gtk-4.0.so: undefined reference to `WebCore::LayerRepresentation::retainPlatformLayer(void*)'
collect2: error: ld returned 1 exit status

So it looks like it's not evolution's fault, because webkit-gtk in itself is unstable and cannot be build.

Can someone please try to emerge webkit-gtk with these USE flags to verify it's not just my system?
Comment 4 cyrillic 2018-10-24 01:45:57 UTC
(In reply to 3uklz9+cwyw433xfnykw from comment #3)

> generate-gtkdoc && touch docs-build.stamp
> FAILED: docs-build.stamp 

What happens if you do USE="-doc" ?
Comment 5 Mart Raudsepp gentoo-dev 2018-11-26 20:02:16 UTC
It appears to be a problem when webkit-gtk is built without USE=opengl (or USE=gles2, but you probably don't want that). Adding USE=opengl should fix the undefined reference issues when linking stuff against it. I'm trying to investigate now if it can be fixed, or already is fixed with newer 2.22.4 version.
We don't keep older than 2.22.2, because they are security vulnerable.

Marking DUP of a newer bug that identified the opengl aspect and details.

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