Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 866151 - mail-client/thunderbird, www-client/firefox: undefined symbol: gdk_wayland_display_get_wl_compositor
Summary: mail-client/thunderbird, www-client/firefox: undefined symbol: gdk...
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
Depends on:
Reported: 2022-08-23 14:09 UTC by Emily Rowlands
Modified: 2022-08-25 09:53 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---

emerge --info www-client/firefox mail-client/thunderbird (emerge-info-both,17.68 KB, text/plain)
2022-08-23 14:13 UTC, Emily Rowlands
firefox build log (compressed) (firefox.log.xz,681.64 KB, application/x-xz)
2022-08-23 14:17 UTC, Emily Rowlands
thunderbird build log (compressed) (thunderbird.log.xz,401.50 KB, application/x-xz)
2022-08-23 14:18 UTC, Emily Rowlands
cat /var/db/pkg/mail-client/thunderbird-91.12.0/NEEDED* (file_866151.txt,3.89 KB, text/plain)
2022-08-25 09:50 UTC, Emily Rowlands
For thunderbird[-wayland] built when gtk+:3[wayland] is installed (file_866151.txt,4.08 KB, text/plain)
2022-08-25 09:51 UTC, Emily Rowlands

Note You need to log in before you can comment on or make changes to this bug.
Description Emily Rowlands 2022-08-23 14:09:45 UTC
$ thunderbird 
XPCOMGlueLoad error for file /usr/lib64/thunderbird/
/usr/lib64/thunderbird/ undefined symbol: gdk_wayland_display_get_wl_compositor
Couldn't load XPCOM.

The same error appeared for firefox, except s/thunderbird/firefox/ in the error.

To reproduce (guessing here):
1. Install x11-libs/gtk+:3[wayland]
2. Install mail-client/thunderbird[-wayland]
3. Install x11-libs/gtk+:3[-wayland]
4. Depclean (optional?)
5. Run thunderbird

The process is similar for firefox.

Unfortunately, I don't have the build logs for the broken builds of firefox or thunderbird, but I do have the build log for the working versions.

They appear to look for gtk+-wayland-3.0.pc, even if USE=wayland is disabled. A relevant extract from the firefox log:

 0:05.13 checking for gtk+-wayland-3.0 >= 3.14 xkbcommon >= 0.4.1 libdrm >= 2.4... no
 0:05.13 WARNING: Package gtk+-wayland-3.0 was not found in the pkg-config search path.
 0:05.13 WARNING: Perhaps you should add the directory containing `gtk+-wayland-3.0.pc'
 0:05.13 WARNING: to the PKG_CONFIG_PATH environment variable
 0:05.13 WARNING: Package 'gtk+-wayland-3.0', required by 'virtual:world', not found

The same lines appear in the thunderbird log at time "0:06.24".

Logs and emerge --info to follow
Comment 1 Emily Rowlands 2022-08-23 14:13:21 UTC
Created attachment 800625 [details]
emerge --info www-client/firefox mail-client/thunderbird
Comment 2 Emily Rowlands 2022-08-23 14:17:59 UTC
Created attachment 800627 [details]
firefox build log (compressed)
Comment 3 Emily Rowlands 2022-08-23 14:18:32 UTC
Created attachment 800629 [details]
thunderbird build log (compressed)
Comment 4 Joonas Niilola gentoo-dev 2022-08-25 07:22:28 UTC
Can you post:
cat /var/db/pkg/mail-client/thunderbird-91.12.0/NEEDED*

(and for firefox)
Comment 5 Joonas Niilola gentoo-dev 2022-08-25 08:25:04 UTC
At least this worked for me:
1: USE="wayland" emerge -1av gtk+:3
2: emerge -av =mail-client/thunderbird-91.12.0
3: USE="-wayland" emerge -1av gtk+:3
4: thunderbird

works fine.

Even after running --depclean and emerge -C wayland, which leaves mesa[wayland] broken, thunderbird works fine. 

... although I do see thunderbird builds if gtk+:3[wayland] is enabled, and it doesn't when it's not available. The library doesn't link to anything though, at least in this minimal system. 

I'm guessing this somehow comes from pkg-config, and your system is a bit entangled atm. "cat /var/db/pkg/mail-client/thunderbird-91.12.0/NEEDED*" will let us know a bit more for now.
Comment 6 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-08-25 08:29:01 UTC
(In reply to Joonas Niilola from comment #5)
> At least this worked for me:
> 1: USE="wayland" emerge -1av gtk+:3
> 2: emerge -av =mail-client/thunderbird-91.12.0

Was this with +wayland or -wayland?

> I'm guessing this somehow comes from pkg-config, and your system is a bit
> entangled atm. "cat /var/db/pkg/mail-client/thunderbird-91.12.0/NEEDED*"
> will let us know a bit more for now.

It's very possible it was in a mid-transition state between gtk+[wayland] and gtk+[-wayland] which breaks ABI and affects various GNOMEy consumers: bug 624960. I wouldn't be surprised if some of that leaked into .pc files. Would need Emily to clarify if this may have been the case for her.
Comment 7 Joonas Niilola gentoo-dev 2022-08-25 08:33:02 UTC
(In reply to Sam James from comment #6)
> > At least this worked for me:
> > 1: USE="wayland" emerge -1av gtk+:3
> > 2: emerge -av =mail-client/thunderbird-91.12.0
> Was this with +wayland or -wayland?

Thunderbird was with -wayland. I wonder if we should update the USE-dep against gtk+ to [wayland=] and not [wayland?]... (or focus on fixing gtk+3)
Comment 8 Emily Rowlands 2022-08-25 09:50:03 UTC
Created attachment 800977 [details]
cat /var/db/pkg/mail-client/thunderbird-91.12.0/NEEDED*

For thunderbird[-wayland] built when gtk+:3[-wayland] is installed
Comment 9 Emily Rowlands 2022-08-25 09:51:07 UTC
Created attachment 800980 [details]
For thunderbird[-wayland] built when gtk+:3[wayland] is installed

qxpak -x thunderbird-91.12.0-1.xpak -O NEEDED{,.ELF.2}
Comment 10 Emily Rowlands 2022-08-25 09:53:12 UTC
To summarise, here's a word-diff of the two:

$ git diff --no-prefix -U0 --word-diff --word-diff-regex='[^[:space:],;]+' HEAD^..HEAD
diff --git a/NEEDED b/NEEDED
index 82ddd4f..c6ecbb2 100644
--- a/NEEDED
+++ b/NEEDED
@@ -1 +1 @@
@@ -3,0 +4 @@
@@ -13 +14 @@
@@ -15,0 +17 @@ X86_64;/usr/lib64/thunderbird/;;/usr/lib64/thunderbird;l