$ thunderbird XPCOMGlueLoad error for file /usr/lib64/thunderbird/libxul.so: /usr/lib64/thunderbird/libxul.so: 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
Created attachment 800625 [details] emerge --info www-client/firefox mail-client/thunderbird
Created attachment 800627 [details] firefox build log (compressed)
Created attachment 800629 [details] thunderbird build log (compressed)
Can you post: cat /var/db/pkg/mail-client/thunderbird-91.12.0/NEEDED* (and for firefox)
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 libmozwayland.so 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.
(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.
(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)
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
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}
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 @@ /usr/lib64/thunderbird/libxul.so libmozsandbox.so,libldap60.so,libprldap60.so,liblgpllibs.so,libmozsqlite3.so,libmozgtk.so,{+libmozwayland.so+},libicui18n.so.71,libicuuc.so.71,libaom.so.3,libdav1d.so.6,libm.so.6,libX11.so.6,libX11-xcb.so.1,libxcb.so.1,libXcomposite.so.1,libXdamage.so.1,libXext.so.6,libXfixes.so.3,libXrender.so.1,libc.so.6,ld-linux-x86-64.so.2,libplds4.so,libplc4.so,libnspr4.so,libffi.so.8,libz.so.1,libssl3.so,libsmime3.so,libnss3.so,libnssutil3.so,libfreetype.so.6,libfontconfig.so.1,libgtk-3.so.0,libgdk-3.so.0,libpango-1.0.so.0,libharfbuzz.so.0,libatk-1.0.so.0,libcairo-gobject.so.2,libcairo.so.2,libgdk_pixbuf-2.0.so.0,libgio-2.0.so.0,libgobject-2.0.so.0,libglib-2.0.so.0,libgraphite2.so.3,libwebpdemux.so.2,libwebp.so.7,libvpx.so.7,libpixman-1.so.0,libdbus-glib-1.so.2,libdbus-1.so.3,libxcb-shm.so.0,libstdc++.so.6,libgcc_s.so.1 @@ -3,0 +4 @@ {+/usr/lib64/thunderbird/libmozwayland.so libc.so.6+} @@ -13 +14 @@ X86_64;/usr/lib64/thunderbird/libxul.so;libxul.so;/usr/lib64/thunderbird;libmozsandbox.so,libldap60.so,libprldap60.so,liblgpllibs.so,libmozsqlite3.so,libmozgtk.so,{+libmozwayland.so+},libicui18n.so.71,libicuuc.so.71,libaom.so.3,libdav1d.so.6,libm.so.6,libX11.so.6,libX11-xcb.so.1,libxcb.so.1,libXcomposite.so.1,libXdamage.so.1,libXext.so.6,libXfixes.so.3,libXrender.so.1,libc.so.6,ld-linux-x86-64.so.2,libplds4.so,libplc4.so,libnspr4.so,libffi.so.8,libz.so.1,libssl3.so,libsmime3.so,libnss3.so,libnssutil3.so,libfreetype.so.6,libfontconfig.so.1,libgtk-3.so.0,libgdk-3.so.0,libpango-1.0.so.0,libharfbuzz.so.0,libatk-1.0.so.0,libcairo-gobject.so.2,libcairo.so.2,libgdk_pixbuf-2.0.so.0,libgio-2.0.so.0,libgobject-2.0.so.0,libglib-2.0.so.0,libgraphite2.so.3,libwebpdemux.so.2,libwebp.so.7,libvpx.so.7,libpixman-1.so.0,libdbus-glib-1.so.2,libdbus-1.so.3,libxcb-shm.so.0,libstdc++.so.6,libgcc_s.so.1;x86_64 @@ -15,0 +17 @@ X86_64;/usr/lib64/thunderbird/libmozgtk.so;libmozgtk.so;/usr/lib64/thunderbird;l {+X86_64;/usr/lib64/thunderbird/libmozwayland.so;libmozwayland.so;/usr/lib64/thunderbird;libc.so.6;x86_64+}