Created attachment 633716 [details] emerge --info # emerge firefox These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] www-client/firefox-68.7.0::gentoo USE="custom-cflags dbus gmp-autoupdate hwaccel pulseaudio screenshot startup-notification system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite system-webp -bindist -clang -custom-optimization -debug -eme-free -geckodriver -hardened -jack -lto (-pgo) (-selinux) -test -wayland -wifi" CPU_FLAGS_X86="-avx2" L10N="de -ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -cak -cs -cy -da -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 -nl -nn -oc -pa -pl -pt-BR -pt-PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv -ta -te -th -tr -uk -ur -uz -vi -xh -zh-CN -zh-TW" 0 KiB [...] 0:45.91 checking for rustc... /usr/bin/rustc 0:45.93 checking for cargo... /usr/bin/cargo 0:49.47 checking rustc version... 1.41.1 0:49.78 checking cargo version... 1.41.0 0:51.79 checking for rust target triplet... i686-unknown-linux-gnu 0:52.24 checking for rust host triplet... i686-unknown-linux-gnu 0:52.26 checking for rustdoc... /usr/bin/rustdoc 0:52.42 checking for cbindgen... /usr/bin/cbindgen 0:52.43 checking for rustfmt... not found 0:52.50 checking for llvm-config... /usr/lib/llvm/9/bin/llvm-config 0:56.83 checking that libclang is new enough... yes 0:57.31 DEBUG: Executing: `/usr/lib/llvm/9/bin/clang -E /var/tmp/portage/www-client/firefox-68.7.0/temp/conftest.SSgCmT.cpp` 0:57.31 DEBUG: The command returned non-zero exit status 127. 0:57.32 DEBUG: Its error output was: 0:57.32 DEBUG: | /usr/lib/llvm/9/bin/clang: symbol lookup error: /usr/lib/llvm/9/bin/clang: undefined symbol: _ZN4llvm24DisableABIBreakingChecksE 0:57.33 ERROR: Command `/usr/lib/llvm/9/bin/clang -E /var/tmp/portage/www-client/firefox-68.7.0/temp/conftest.SSgCmT.cpp` failed with exit status 127. 0:57.49 *** Fix above errors and then restart with\ 0:57.50 "./mach build" 0:57.50 gmake: *** [client.mk:115: configure] Error 1 * ERROR: www-client/firefox-68.7.0::gentoo failed (configure phase): * (no error message)
Created attachment 633718 [details] build.log
I am not sure how you hit this. I can only assume that you misinterpreted the existence of USE=clang and thought you could hack around PM and try without clang at all. But that doesn't work. Firefox always require clang for bindgen and the ebuild is enforcing that, see: https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/firefox/firefox-68.7.0.ebuild?id=00b314f5b85150726978be1bde94e13e5cdb0c85#n132 With USE=-clang you are just not building firefox itself using clang.
(In reply to ernsteiswuerfel from comment #0) > Created attachment 633716 [details] > emerge --info > > # emerge firefox > > These are the packages that would be merged, in order: > > Calculating dependencies... done! > [ebuild N ] www-client/firefox-68.7.0::gentoo USE="custom-cflags dbus > gmp-autoupdate hwaccel pulseaudio screenshot startup-notification system-av1 > system-harfbuzz system-icu system-jpeg system-libevent system-libvpx > system-sqlite system-webp -bindist -clang -custom-optimization -debug > -eme-free -geckodriver -hardened -jack -lto (-pgo) (-selinux) -test -wayland > -wifi" CPU_FLAGS_X86="-avx2" L10N="de -ach -af -an -ar -ast -az -be -bg -bn > -br -bs -ca -cak -cs -cy -da -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 -nl -nn -oc -pa -pl -pt-BR -pt-PT -rm -ro -ru -si -sk -sl -son -sq > -sr -sv -ta -te -th -tr -uk -ur -uz -vi -xh -zh-CN -zh-TW" 0 KiB > > > [...] > 0:45.91 checking for rustc... /usr/bin/rustc > 0:45.93 checking for cargo... /usr/bin/cargo > 0:49.47 checking rustc version... 1.41.1 > 0:49.78 checking cargo version... 1.41.0 > 0:51.79 checking for rust target triplet... i686-unknown-linux-gnu > 0:52.24 checking for rust host triplet... i686-unknown-linux-gnu > 0:52.26 checking for rustdoc... /usr/bin/rustdoc > 0:52.42 checking for cbindgen... /usr/bin/cbindgen > 0:52.43 checking for rustfmt... not found > 0:52.50 checking for llvm-config... /usr/lib/llvm/9/bin/llvm-config > 0:56.83 checking that libclang is new enough... yes > 0:57.31 DEBUG: Executing: `/usr/lib/llvm/9/bin/clang -E > /var/tmp/portage/www-client/firefox-68.7.0/temp/conftest.SSgCmT.cpp` > 0:57.31 DEBUG: The command returned non-zero exit status 127. > 0:57.32 DEBUG: Its error output was: > 0:57.32 DEBUG: | /usr/lib/llvm/9/bin/clang: symbol lookup error: > /usr/lib/llvm/9/bin/clang: undefined symbol: > _ZN4llvm24DisableABIBreakingChecksE > 0:57.33 ERROR: Command `/usr/lib/llvm/9/bin/clang -E > /var/tmp/portage/www-client/firefox-68.7.0/temp/conftest.SSgCmT.cpp` failed > with exit status 127. > 0:57.49 *** Fix above errors and then restart with\ > 0:57.50 "./mach build" > 0:57.50 gmake: *** [client.mk:115: configure] Error 1 > * ERROR: www-client/firefox-68.7.0::gentoo failed (configure phase): > * (no error message) simple re-emerge llvm and clang to resolve the symbols and afterwards your firefox build will be successful.
In the end the problem was a mismatch of USE='debug' in llvm and clang. Meanwhile I built llvm with USE='debug' and forgot about that. clang remained installed with USE='-debug'. This led to the configure error firefox complained about (and led me to a wrong conclusion which Thomas correctly assumed ;) ). After clang was rebuilt with USE='debug' and matched llvm's config again the firefox build also completed successfully. Sorry for the noise guys!