Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 811840 - www-client/firefox[wayland] fails to compile with >=dev-libs/wayland-1.20.0: error: undefined symbol: wl_proxy_marshal_flags
Summary: www-client/firefox[wayland] fails to compile with >=dev-libs/wayland-1.20.0: ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL: https://gitlab.freedesktop.org/waylan...
Whiteboard:
Keywords:
: 828857 828929 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-09-06 12:01 UTC by cyrillic
Modified: 2021-12-12 01:41 UTC (History)
6 users (show)

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


Attachments
build.log.xz (build.log.xz,337.42 KB, application/x-xz)
2021-09-06 12:08 UTC, cyrillic
Details

Note You need to log in before you can comment on or make changes to this bug.
Description cyrillic 2021-09-06 12:01:59 UTC
www-client/firefox-91.0.2 fails to compile with recent wayland. error: undefined symbol: wl_proxy_marshal_flags

Rolling back wayland to an older version allows firefox to compile.

Reproducible: Always




emerge -pv wayland firefox

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   *] dev-libs/wayland-9999::gentoo  USE="-doc" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild   R    ] www-client/firefox-91.0.2:0/91::gentoo  USE="clang dbus hwaccel pulseaudio system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-webp wayland -debug -eme-free -geckodriver -gmp-autoupdate -hardened -jack -lto -openh264 -pgo -screencast (-selinux) -sndio -wifi" L10N="-ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da -de -dsb -el -en-CA -en-GB -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -ia -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mk -mr -ms -my -nb -ne -nl -nn -oc -pa -pl -pt-BR -pt-PT -rm -ro -ru -sco -si -sk -sl -son -sq -sr -sv -szl -ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW" 0 KiB

emerge --info
Portage 3.0.22 (python 3.10.0-candidate-1, default/linux/amd64/17.1/desktop/gnome/systemd, gcc-11.2.0, glibc-2.34, 5.14.0-051400rc7-lowlatency x86_64)
=================================================================
System uname: Linux-5.14.0-051400rc7-lowlatency-x86_64-AMD_Ryzen_Threadripper_2970WX_24-Core_Processor-with-glibc2.34
KiB Mem:    65813272 total,  49569088 free
KiB Swap:          0 total,         0 free
Head commit of repository gentoo: 7759614a9e2a716a6373f0218f08690971d91876

sh bash 5.1_p8
ld GNU ld (Gentoo 2.37_p1 p0) 2.37
app-shells/bash:          5.1_p8::gentoo
dev-java/java-config:     2.3.1::gentoo
dev-lang/perl:            5.34.0-r2::gentoo
dev-lang/python:          3.10.0_rc1_p2::gentoo
dev-lang/rust:            1.55.0_beta::newstuff
dev-util/cmake:           3.21.2::gentoo
sys-apps/baselayout:      2.7-r3::gentoo
sys-apps/openrc:          0.43.5::gentoo
sys-apps/sandbox:         2.24::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.71-r1::gentoo
sys-devel/automake:       1.13.4-r2::gentoo, 1.16.4::gentoo
sys-devel/binutils:       2.37_p1::gentoo
sys-devel/gcc:            11.2.0::gentoo
sys-devel/gcc-config:     2.4::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.14::gentoo (virtual/os-headers)
sys-libs/glibc:           2.34::gentoo
Repositories:

newstuff
    location: /mnt/repos/newstuff
    masters: gentoo
    priority: -1030
    eclass-overrides: fixes

gnomelive
    location: /mnt/repos/gnomelive
    masters: gentoo
    priority: -1010
    eclass-overrides: fixes

gentoo
    location: /mnt/repos/gentoo
    sync-type: git
    sync-uri: https://anongit.gentoo.org/git/repo/gentoo.git
    priority: -1000
    eclass-overrides: fixes

crossdev
    location: /mnt/repos/crossdev
    masters: gentoo
    eclass-overrides: fixes

fixes
    location: /mnt/repos/fixes
    masters: gentoo
    priority: 10
    eclass-overrides: fixes

Installed sets: @clang, @system
ACCEPT_KEYWORDS="* amd64 ~*"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -mtune=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=nocona -mtune=native -O2 -pipe"
DISTDIR="/mnt/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j48"
PKGDIR="/var/tmp/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/tmp"
USE="X a52 aac acl alsa amd64 berkdb bluetooth bluray boost brotli bzip2 cairo caps cdr colord cpudetection css cups curl custom-cflags cxx dbus drm dts dvd eds egl encode exif expat fbcon ffmpeg flac flickr fontconfig gdbm geolocation gif glamor glib gnome gnome-keyring gnutls gpm graphite gssapi gstreamer gtk gtk3 harfbuzz heif ibus icu idn imagemagick introspection ipv6 jpeg jpeg2k kmod kms lcms libass libglvnd libinput libnotify lzma mp3 mpi nautilus ncurses networkmanager nls nptl numa ocamlopt ogg opencl opencv openexr opengl openmp openssl opus orc pam pango pcre pdf png policykit postproc postscript pulseaudio python qml readline samba speex spell split-usr ssl ssp svg systemd tcl telepathy theora threads tiff tk tools tracker truetype udev unicode upnp-av usb user-session utils v4l vala vorbis vpx vulkan wayland webp x264 x265 xcb xkb xml xmp xv xvmc zlib zstd" ABI_X86="64" CPU_FLAGS_X86="mmx mmxext sse sse2 sse3" CURL_SSL="openssl" ELIBC="glibc" INPUT_DEVICES="libinput wacom" KERNEL="linux" L10N="en" LLVM_TARGETS="AMDGPU BPF X86" LUA_SINGLE_TARGET="lua5-4" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python3_10" RUBY_TARGETS="ruby30" USERLAND="GNU" VIDEO_CARDS="amdgpu intel nouveau radeon radeonsi"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS
Comment 1 cyrillic 2021-09-06 12:08:10 UTC
Created attachment 737920 [details]
build.log.xz
Comment 2 cyrillic 2021-09-08 15:25:45 UTC
Same deal with www-client/firefox-92.0
Downgrading wayland allows it to build.
Comment 3 Thomas Deutschmann (RETIRED) gentoo-dev 2021-09-08 18:28:03 UTC
Someone has to report this upstream...
Comment 4 cyrillic 2021-09-09 21:36:22 UTC
I am not entirely sure that Firefox is to blame. It could be the version of Rust is too old, and has not caught up to where Wayland is.
Comment 5 cyrillic 2021-09-14 00:27:45 UTC
Okay, maybe not.

I just updated rust from beta/1.55 to stable/1.55 and firefox still has the same problem.
Comment 6 cyrillic 2021-09-24 00:18:40 UTC
Same deal with www-client/firefox-92.0.1

(In reply to Thomas Deutschmann from comment #3)
> Someone has to report this upstream...

BGO is my only bugzilla account ... sorry
Comment 7 Sergey Kondakov 2021-10-29 03:46:42 UTC
I've got this too and here was the first place that came up in search. I just managed to work around it by `export LDFLAGS="${LDFLAGS} -lwayland-client"` in my build at https://build.opensuse.org/package/show/home:X0F:HSF/MozillaFirefox

Not that I'm going to actually use its wayland 'support' but it refuses to build otherwise. '-Wl,--gc-sections' and '-Wl,--icf=safe', as well as clang's `ac_add_options --enable-lto=thin`/'-flto=thin', should take care of redundant linking.
Comment 8 cyrillic 2021-10-29 23:16:46 UTC
(In reply to Sergey Kondakov from comment #7)
> I just managed to work around it ...

Thank you, that trick worked for me too.

If wayland-1.20 ever gets released, then the Mozilla guys will have to fix this the right way. :)
Comment 9 cyrillic 2021-12-10 03:10:04 UTC
My latest attempt is with all released versions:
wayland-1.20.0
rust-1.57.0
firefox-95.0
Linking still fails.

Now normally I would just look for a source file to patch where I could add #include <wayland-client> but the file in question seems to be Unified_cpp_gfx_gl0.cpp which is generated-on-the-fly rather than being part of the firefox tarball ...
Comment 10 Sven B. 2021-12-10 19:05:10 UTC
https://git.alpinelinux.org/aports/commit/?id=88f459ca07a0bbc3c2d93c4289ab90752c599c6e

seems to hint on rebuilding wayland-protocols.
Comment 11 Perfect Gentleman 2021-12-11 09:16:52 UTC
(In reply to Sergey Kondakov from comment #7)
> I've got this too and here was the first place that came up in search. I
> just managed to work around it by `export LDFLAGS="${LDFLAGS}
> -lwayland-client"` in my build at

Thanx, that saved me several days.
Comment 13 Thomas Deutschmann (RETIRED) gentoo-dev 2021-12-11 16:52:48 UTC
*** Bug 828857 has been marked as a duplicate of this bug. ***
Comment 14 Thomas Deutschmann (RETIRED) gentoo-dev 2021-12-11 23:36:30 UTC
*** Bug 828929 has been marked as a duplicate of this bug. ***
Comment 15 cyrillic 2021-12-11 23:38:11 UTC
(In reply to Sven B. from comment #10)
> https://git.alpinelinux.org/aports/commit/
> ?id=88f459ca07a0bbc3c2d93c4289ab90752c599c6e
> 
> seems to hint on rebuilding wayland-protocols.

I tried that just to see, but I rebuild world on a regular basis (including yesterday), and this has not solved it for me yet.
Comment 16 Larry the Git Cow gentoo-dev 2021-12-12 01:41:15 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8d4bc18c1295852de7bd762c60286c8e009dd9b1

commit 8d4bc18c1295852de7bd762c60286c8e009dd9b1
Author:     Thomas Deutschmann <whissi@gentoo.org>
AuthorDate: 2021-12-12 01:24:35 +0000
Commit:     Thomas Deutschmann <whissi@gentoo.org>
CommitDate: 2021-12-12 01:41:01 +0000

    mail-client/thunderbird: fix building against wayland-1.20
    
    Closes: https://bugs.gentoo.org/811840
    Package-Manager: Portage-3.0.28, Repoman-3.0.3
    Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>

 mail-client/thunderbird/Manifest                  | 2 +-
 mail-client/thunderbird/thunderbird-91.4.0.ebuild | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32768cd88a7314351252178bc94b3c4e0ad3e5a9

commit 32768cd88a7314351252178bc94b3c4e0ad3e5a9
Author:     Thomas Deutschmann <whissi@gentoo.org>
AuthorDate: 2021-12-12 01:21:19 +0000
Commit:     Thomas Deutschmann <whissi@gentoo.org>
CommitDate: 2021-12-12 01:40:58 +0000

    www-client/firefox: fix building against wayland-1.20
    
    Closes: https://bugs.gentoo.org/811840
    Package-Manager: Portage-3.0.28, Repoman-3.0.3
    Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>

 www-client/firefox/Manifest              | 4 ++--
 www-client/firefox/firefox-91.4.0.ebuild | 2 +-
 www-client/firefox/firefox-95.0.ebuild   | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)