evolution has undefined symbol in newest libwebkit2gtk

Bug #2062916 reported by Lloyd Kvam
258
This bug affects 1 person
Affects Status Importance Assigned to Milestone
evolution (Ubuntu)
Invalid
Undecided
Unassigned
webkit2gtk (Ubuntu)
Invalid
Critical
Unassigned

Bug Description

evolution: symbol lookup error: /lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37: undefined symbol: gbm_bo_create_with_modifiers2

The libwebkit2gtk version is
libwebkit2gtk-4.0-37_2.44.0-0ubuntu0.22.04.1_amd64.deb

Revision history for this message
Lloyd Kvam (u-launchpad-venix-com) wrote :

This error has been occurring since updating to the latest version of libwebkit2gtk

affects: pkg-website → libwebkitnode
Revision history for this message
Lloyd Kvam (u-launchpad-venix-com) wrote :

I received this explanation from webkit.org:

 Comment # 1 on bug 273002 from Michael Catanzaro

Your installed version of mesa is older than the version WebKitGTK was built against. You'll need to update mesa, or report a bug to whoever provides your WebKitGTK.

affects: libwebkitnode → webkit2gtk (Ubuntu)
affects: webkit2gtk (Ubuntu) → evolution (Ubuntu)
Jeremy Bícha (jbicha)
Changed in webkit2gtk (Ubuntu):
importance: Undecided → Critical
information type: Public → Public Security
Changed in webkit2gtk (Ubuntu):
status: New → Triaged
tags: added: regression-update
Revision history for this message
Viraniac (viraniac) wrote (last edit ):

I noticed this issue as well. I have verified that libgbm provided by mesa does have the function in the latest available package. In my case I am running mali drivers on one of my SBCs and its the libmali.so file that provides libgbm.so for me. The libmali.so file lacked the gbm_bo_create_with_modifiers2 function. I created a shim library based on the code from XWayland that solved the problem for me.

The code for shim library can be find here - https://github.com/viraniac/mali-debs/blob/783569da2c73485db24c54ce4d7d0813d308f2a5/noble/arm64/VIM4/wayland/src/gbm_bo_create_with_modifiers2.c

Revision history for this message
Lloyd Kvam (u-launchpad-venix-com) wrote :

gnucash also suffers from the same problem

gnucash: symbol lookup error: /lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37: undefined symbol: gbm_bo_create_with_modifiers2

This gets more critical for me personally. There are alternatives for handling email. I have no easy replacement for gnucash.

Revision history for this message
Lloyd Kvam (u-launchpad-venix-com) wrote :

$ ldd -r $(which gnucash) | tail
<snipped libraries>
undefined symbol: gbm_bo_create_with_modifiers2 (/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37)
undefined symbol: gbm_bo_get_fd_for_plane (/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37)

So there are two missing symbols. The output for evolution shows the same symbols.

Revision history for this message
Viraniac (viraniac) wrote :

Lloyd, are you using any proprietary graphics drivers? Also what is the output of

$ ls -al /lib/x86_64-linux-gnu/libgbm.*

Revision history for this message
Lloyd Kvam (u-launchpad-venix-com) wrote :

Viraniac,

Thanks for your interest.

I am not using any proprietary graphics drivers.

# ls -al /lib/x86_64-linux-gnu/libgbm*
lrwxrwxrwx 1 root root 15 Jan 24 07:01 /lib/x86_64-linux-gnu/libgbm.so.1 -> libgbm.so.1.0.0
-rw-r--r-- 1 root root 64720 Jan 24 07:01 /lib/x86_64-linux-gnu/libgbm.so.1.0.0

# dpkg --list libgbm1
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-=========================-============-========================================
ii libgbm1:amd64 23.2.1-1ubuntu3.1~22.04.2 amd64 generic buffer management API -- runtime

So I think that's the latest version from the repo and there are no installation issues.

Revision history for this message
Lloyd Kvam (u-launchpad-venix-com) wrote :

The dpkg --status output is more readable

# dpkg --status libgbm1
Package: libgbm1
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 148
Maintainer: Ubuntu Developers <email address hidden>
Architecture: amd64
Multi-Arch: same
Source: mesa
Version: 23.2.1-1ubuntu3.1~22.04.2
Depends: libc6 (>= 2.34), libdrm2 (>= 2.4.75), libexpat1 (>= 2.0.1), libwayland-server0 (>= 1.15.0), libxcb-randr0
Description: generic buffer management API -- runtime
 This package contains the GBM buffer management library. It provides a
 mechanism for allocating buffers for graphics rendering tied to Mesa.
 .
 GBM is intended to be used as a native platform for EGL on drm or openwfd.
Homepage: https://mesa3d.org/
Original-Maintainer: Debian X Strike Force <email address hidden>

My guess is that a dependency between libwebkit2gtk and libgbm1 was not configured into the package management configuration.

Revision history for this message
Lloyd Kvam (u-launchpad-venix-com) wrote :

Would updating to Ubuntu 23.10 be a likely fix? (I hope this the right place to ask)

Revision history for this message
Marc Deslauriers (mdeslaur) wrote :

That is pretty odd, I can't reproduce this issue on jammy.

what's the output of "ldd /lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37"?

Revision history for this message
Lloyd Kvam (u-launchpad-venix-com) wrote :

I think this is the line you (AND I) want to see
 libgbm.so.1 => /opt/amdgpu/lib/x86_64-linux-gnu/libgbm.so.1 (0x00007f5edb3a8000)

Thanks. I looked past that.

I had an old amdgpu library that had been locally installed gumming up the works.

I have removed the old amdgpu packages and am close to working normally.

Thanks for pointing me in the correct direction.

Changed in evolution (Ubuntu):
status: New → Invalid
Changed in webkit2gtk (Ubuntu):
status: Triaged → Invalid
Revision history for this message
Lloyd Kvam (u-launchpad-venix-com) wrote :

Lloyd had a mis-configured system when he filed this bug.

Revision history for this message
Lloyd Kvam (u-launchpad-venix-com) wrote :

So now
# ldd /lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37 | grep libgbm
 libgbm.so.1 => /lib/x86_64-linux-gnu/libgbm.so.1 (0x00007fd3deade000)

shows that I am using the correct libgbm and all is well.

Revision history for this message
José Domínguez (pepemanu) wrote :

Having the same issue. How did you manage to solve it?

Revision history for this message
Lloyd Kvam (u-launchpad-venix-com) wrote :

See comment #10 and my #11 and #13 responses

Years ago I installed an amdgpu package from an extrnal source and had forgotten about it.
ldd showed that libwebkit2gtk was referencing libgbm from /opt/*
The proper package is in /lib/x86_64-linux-gnu/

So I used synaptic to remove the manually installed amdgpu package. That got me back in sync with the proper Ubuntu/Debian packages which resolved my problems.

To post a comment you must log in.
This report contains Public Security information  
Everyone can see this security related information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.