Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 718346 - www-client/firefox-68.7.0 - build fails at clang probing even with USE="-clang"
Summary: www-client/firefox-68.7.0 - build fails at clang probing even with USE="-clang"
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-19 14:57 UTC by ernsteiswuerfel
Modified: 2020-12-08 16:25 UTC (History)
2 users (show)

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


Attachments
emerge --info (file_718346.txt,6.18 KB, text/plain)
2020-04-19 14:57 UTC, ernsteiswuerfel
Details
build.log (firefox-68.7.0:20200419-140744.log,28.62 KB, text/plain)
2020-04-19 14:59 UTC, ernsteiswuerfel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ernsteiswuerfel archtester 2020-04-19 14:57:58 UTC
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)
Comment 1 ernsteiswuerfel archtester 2020-04-19 14:59:11 UTC
Created attachment 633718 [details]
build.log
Comment 2 Thomas Deutschmann gentoo-dev Security 2020-04-19 17:57:47 UTC
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.
Comment 3 Jory A. Pratt gentoo-dev 2020-04-20 02:36:49 UTC
(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.
Comment 4 ernsteiswuerfel archtester 2020-04-21 12:34:35 UTC
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!