Hi, I'm running into weird compile errors for firefox-101.0.x. I used to compile it with clang, which fails after a couple minutes into the build after successfully building the "swgl" component. I can't really see the root cause there. If I switch the build to gcc it continues much longer, but fails when linking "libxul.so": firefox libxul.so: undefined reference to mozgtk_linker_holder The only reference to "mozgtk_linker_holder" I could find is a commit on Mozillas HG repository [1]. Build logs and emerge --info are attached. ~# emerge -pqv '=www-client/firefox-101.0.1-r11::gentoo' [ebuild U ] www-client/firefox-101.0.1-r11 [101.0] USE="X%* clang dbus geckodriver gmp-autoupdate hardened hwaccel lto openh264 pulseaudio system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-webp wayland -debug -eme-free -jack -libproxy -pgo -screencast (-selinux) -sndio -system-png (-system-python-libs) -wifi" L10N="de en-GB -ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da -dsb -el -en-CA -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" [1] https://hg.mozilla.org/mozilla-central/rev/71f770d9340750609adf71deb554105b0742d986 Thanks as always for your support! Best regards, David
Created attachment 786395 [details] emerge --info
Logs were too big to upload here, I pushed them to transfer.sh: - https://transfer.sh/RVV4Y2/firefox-101.0.1-r11_clang-14.0.4.log.gz - https://transfer.sh/xRqJio/firefox-101.0.1-r11_gcc-11.3.0.log.gz
Created attachment 786434 [details] firefox-101.0.1-r11_clang-14.0.4.log.xz (In reply to b2c from comment #2) > Logs were too big to upload here, I pushed them to transfer.sh: Bugzilla accepts up to 1MB, and these are below that when compressed, I'll go ahead and put them here (with .xz to be yet smaller).
Created attachment 786437 [details] firefox-101.0.1-r11_gcc-11.3.0.log.xz
Thanks - I got an internal server error when I tried to upload, I assumed it was due to filesize/type.
(In reply to b2c from comment #5) > Thanks - I got an internal server error when I tried to upload, I assumed it > was due to filesize/type. Unsure if was the case, but that commonly happens when the browser doesn't have read permission to the log file and ends up sending garbage data instead that confuses bugzilla (I blame browsers' error handling here, not users).
That aside, sounds(?) related to the new making-X-optional stuff but haven't really checked (mozilla@ may know better). Have you tried =firefox-101.0.1 (aka without -rX)?
Ok, just tried to build =www-client/firefox-101.0.1: - clang: still fails - gcc: build works firefox 101.0.1-r10 and 101.0.1-r11 fail for me with both compilers.
I don't see it in your emerge --info but... are you using libcxx with clang? Firefox is known not to build with that. Please show 'emerge -pv --nodeps clang libcxx'
Here you go: ~ # emerge -pv --nodeps clang libcxx These are the packages that would be merged, in order: [ebuild R ] sys-devel/clang-14.0.4:14::gentoo USE="default-compiler-rt default-libcxx default-lld (pie) static-analyzer xml -debug -doc -llvm-libunwind -test" ABI_X86="32 (64) (-x32)" LLVM_TARGETS="(AArch64) (AMDGPU) (ARM) (AVR) (BPF) (Hexagon) (Lanai) (MSP430) (Mips) (NVPTX) (PowerPC) (RISCV) (Sparc) (SystemZ) (VE) (WebAssembly) (X86) (XCore) (-ARC) (-CSKY) (-M68k)" PYTHON_SINGLE_TARGET="python3_9 -python3_8 -python3_10" 0 KiB [ebuild R ] sys-libs/libcxx-14.0.4::gentoo USE="(libcxxabi) libunwind -static-libs -test" ABI_X86="32 (64) (-x32)" 0 KiB
Yeah. Some llvm/clang update broke libcxx in firefox (13->14 I guess?) and it _should_ already be fixed in upstream, https://github.com/llvm/llvm-project/commit/7ab1ab0db40158e6f0794637054c98376e236a6d but apparently this hasn't made to 14.x.x release yet. And no idea if it will make it, or only for 15. Please do try this patch, https://cgit.freebsd.org/ports/tree/www/firefox-esr/files/patch-memory_mozalloc_throw__gcc.h (just use /etc/portage/patches) if the latest llvm-14.0.4 would already work for you. This patch introduces new kinds of errors so I'm not too hopeful. If upstream hasn't, and won't, backport the fix into 14xx, we may have to wait for 15.
Wow, thanks for this, it actually worked - I just compiled www-client/firefox-101.0.1-r11 and it works fine!
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7eabfefdf3e45a2d47c90df65e9d5973009077c commit b7eabfefdf3e45a2d47c90df65e9d5973009077c Author: Joonas Niilola <juippis@gentoo.org> AuthorDate: 2022-06-20 19:29:34 +0000 Commit: Joonas Niilola <juippis@gentoo.org> CommitDate: 2022-06-20 19:32:35 +0000 www-client/firefox: attempt to fix libc++ issue on 101.0.1 - probably doesn't solve all issues with libc++ and clang-14, but at least some! Closes: https://bugs.gentoo.org/853142 Bug: https://bugs.gentoo.org/836219 Signed-off-by: Joonas Niilola <juippis@gentoo.org> www-client/firefox/Manifest | 2 +- www-client/firefox/firefox-101.0.1-r11.ebuild | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)