* [gentoo-user] Firefox and clang
@ 2024-11-01 11:15 Michael
2024-11-01 14:43 ` [gentoo-user] " Jack Ostroff
0 siblings, 1 reply; 9+ messages in thread
From: Michael @ 2024-11-01 11:15 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 1033 bytes --]
Any idea why clang was disabled in www-client/firefox-128.4.0:
[ebuild U ] www-client/firefox-128.4.0:esr::gentoo [128.3.1:esr::gentoo]
USE="X dbus gmp-autoupdate hwaccel jumbo-build openh264 system-av1 system-
harfbuzz system-icu system-jpeg system-libevent system-libvpx system-webp
telemetry wayland -clang* -debug -eme-free -gnome-shell -hardened -jack -
libproxy -lto -pgo -pulseaudio (-selinux) -sndio -system-png -wifi" L10N="en-
GB -ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy
-da -de -dsb -el -en-CA -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -
fr -fur -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 -sc -sco -si -sk -skr -sl -son -sq -sr -sv -szl -
ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW" LLVM_SLOT="18 -17
(-19)" 546,124 KiB
https://gitweb.gentoo.org/repo/gentoo.git/commit/?
id=75c0bdfd0b02568466c14d81aa0027c873a76617
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* [gentoo-user] Re: Firefox and clang
2024-11-01 11:15 [gentoo-user] Firefox and clang Michael
@ 2024-11-01 14:43 ` Jack Ostroff
2024-11-01 16:41 ` Michael
0 siblings, 1 reply; 9+ messages in thread
From: Jack Ostroff @ 2024-11-01 14:43 UTC (permalink / raw
To: gentoo-user
On 11/1/24 7:15 AM, Michael wrote:
> Any idea why clang was disabled in www-client/firefox-128.4.0:
>
> [ebuild U ] www-client/firefox-128.4.0:esr::gentoo [128.3.1:esr::gentoo]
> USE="X dbus gmp-autoupdate hwaccel jumbo-build openh264 system-av1 system-
> harfbuzz system-icu system-jpeg system-libevent system-libvpx system-webp
> telemetry wayland -clang* -debug -eme-free -gnome-shell -hardened -jack -
> libproxy -lto -pgo -pulseaudio (-selinux) -sndio -system-png -wifi" L10N="en-
> GB -ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy
> -da -de -dsb -el -en-CA -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -
> fr -fur -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 -sc -sco -si -sk -skr -sl -son -sq -sr -sv -szl -
> ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW" LLVM_SLOT="18 -17
> (-19)" 546,124 KiB
>
> https://gitweb.gentoo.org/repo/gentoo.git/commit/?
> id=75c0bdfd0b02568466c14d81aa0027c873a76617
Unless I miss something, I don't see evidence of that in the ebuilds.
It looks like IUSE has changed from +clang to just clang in the latest
ebuilds in both slots. Is it possible there is something else in your
make.conf or packages.* which disables it? Actually, it might be that
you need to explicitly add clang to packages.use, as not it is still
allowed, but does not default to on.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [gentoo-user] Re: Firefox and clang
2024-11-01 14:43 ` [gentoo-user] " Jack Ostroff
@ 2024-11-01 16:41 ` Michael
2024-11-01 17:00 ` Marco Rebhan
2024-11-01 18:05 ` Jack
0 siblings, 2 replies; 9+ messages in thread
From: Michael @ 2024-11-01 16:41 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 1963 bytes --]
On Friday 1 November 2024 14:43:17 GMT Jack Ostroff wrote:
> On 11/1/24 7:15 AM, Michael wrote:
> > Any idea why clang was disabled in www-client/firefox-128.4.0:
> >
> > [ebuild U ] www-client/firefox-128.4.0:esr::gentoo
> > [128.3.1:esr::gentoo] USE="X dbus gmp-autoupdate hwaccel jumbo-build
> > openh264 system-av1 system- harfbuzz system-icu system-jpeg
> > system-libevent system-libvpx system-webp telemetry wayland -clang*
> > -debug -eme-free -gnome-shell -hardened -jack - libproxy -lto -pgo
> > -pulseaudio (-selinux) -sndio -system-png -wifi" L10N="en- GB -ach -af
> > -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da
> > -de -dsb -el -en-CA -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -
> > fr -fur -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 -sc -sco -si -sk -skr -sl -son
> > -sq -sr -sv -szl - ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN
> > -zh-TW" LLVM_SLOT="18 -17 (-19)" 546,124 KiB
> >
> > https://gitweb.gentoo.org/repo/gentoo.git/commit/?
> > id=75c0bdfd0b02568466c14d81aa0027c873a76617
>
> Unless I miss something, I don't see evidence of that in the ebuilds.
> It looks like IUSE has changed from +clang to just clang in the latest
> ebuilds in both slots. Is it possible there is something else in your
> make.conf or packages.* which disables it? Actually, it might be that
> you need to explicitly add clang to packages.use, as not it is still
> allowed, but does not default to on.
I've checked and I have no bespoke directives for USE="clang". Emerge will
use whatever is the default setting for this flag.
Without USE="clang" the emerge takes 12-18% longer, but I am not sure what is
the recommended compiler for FF or why it was changed.
PS. Also I do not understand the meaning of these notations:
IUSE="foo"
IUSE="+foo"
IUSE+="foo"
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [gentoo-user] Re: Firefox and clang
2024-11-01 16:41 ` Michael
@ 2024-11-01 17:00 ` Marco Rebhan
2024-11-01 17:50 ` Michael
2024-11-01 18:05 ` Jack
1 sibling, 1 reply; 9+ messages in thread
From: Marco Rebhan @ 2024-11-01 17:00 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 952 bytes --]
On Friday, 1 November 2024 17:41:25 CET Michael wrote:
> Without USE="clang" the emerge takes 12-18% longer, but I am not sure what
> is the recommended compiler for FF or why it was changed.
Hi Michael,
https://bugs.gentoo.org/941878 seems to be the relevant bug with discussion on
why it was changed.
> PS. Also I do not understand the meaning of these notations:
>
> IUSE="foo"
Everything outside the quotes is normal bash syntax, the variable contents are
interpreted by Portage.
This sets the ebuild to have USE flags "foo". (If IUSE was set before this
line, it will clear out all the USE flags that were defined before.)
> IUSE="+foo"
This sets the ebuild to have USE flags "foo", the preceding "+" on the USE
flag means it is enabled by default.
> IUSE+="foo"
This appends to the previous IUSE value. Equivalent to IUSE="${IUSE}foo" (note
the missing space, hence why the Firefox ebuild uses IUSE+=" foo" instead).
Cheers,
Marco
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [gentoo-user] Re: Firefox and clang
2024-11-01 17:00 ` Marco Rebhan
@ 2024-11-01 17:50 ` Michael
2024-11-01 18:08 ` Jack
2024-11-04 7:27 ` Wols Lists
0 siblings, 2 replies; 9+ messages in thread
From: Michael @ 2024-11-01 17:50 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 1745 bytes --]
On Friday 1 November 2024 17:00:20 GMT Marco Rebhan wrote:
> On Friday, 1 November 2024 17:41:25 CET Michael wrote:
> > Without USE="clang" the emerge takes 12-18% longer, but I am not sure what
> > is the recommended compiler for FF or why it was changed.
>
> Hi Michael,
>
> https://bugs.gentoo.org/941878 seems to be the relevant bug with discussion
> on why it was changed.
Thanks! From what I read briefly, I understand clang is recommended upstream
and therefore was set as a default flag. However, a rust Vs rust-bin version
clash can occur and since FF patched their code to work with gcc, setting
clang as the default compiler is no longer considered necessary - at least
this is the present status.
I don't know what the runtime performance impact may be of the current clang
Vs gcc[1], but compilation times were longer on my systems, loosely comparing
FF versions 128.3.1 to 128.4.0.
[1] https://stackoverflow.com/questions/3187414/clang-vs-gcc-which-produces-faster-binaries
> > PS. Also I do not understand the meaning of these notations:
> >
> > IUSE="foo"
>
> Everything outside the quotes is normal bash syntax, the variable contents
> are interpreted by Portage.
>
> This sets the ebuild to have USE flags "foo". (If IUSE was set before this
> line, it will clear out all the USE flags that were defined before.)
>
> > IUSE="+foo"
>
> This sets the ebuild to have USE flags "foo", the preceding "+" on the USE
> flag means it is enabled by default.
>
> > IUSE+="foo"
>
> This appends to the previous IUSE value. Equivalent to IUSE="${IUSE}foo"
> (note the missing space, hence why the Firefox ebuild uses IUSE+=" foo"
> instead).
>
> Cheers,
> Marco
Thanks for this clear and succinct explanation! :-)
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [gentoo-user] Re: Firefox and clang
2024-11-01 16:41 ` Michael
2024-11-01 17:00 ` Marco Rebhan
@ 2024-11-01 18:05 ` Jack
1 sibling, 0 replies; 9+ messages in thread
From: Jack @ 2024-11-01 18:05 UTC (permalink / raw
To: gentoo-user
On 2024.11.01 12:41, Michael wrote:
> On Friday 1 November 2024 14:43:17 GMT Jack Ostroff wrote:
> > On 11/1/24 7:15 AM, Michael wrote:
> > > Any idea why clang was disabled in www-client/firefox-128.4.0:
> > >
> > > [ebuild U ] www-client/firefox-128.4.0:esr::gentoo
> > > [128.3.1:esr::gentoo] USE="X dbus gmp-autoupdate hwaccel
> jumbo-build
> > > openh264 system-av1 system- harfbuzz system-icu system-jpeg
> > > system-libevent system-libvpx system-webp telemetry wayland
> -clang*
> > > -debug -eme-free -gnome-shell -hardened -jack - libproxy -lto -pgo
> > > -pulseaudio (-selinux) -sndio -system-png -wifi" L10N="en- GB
> -ach -af
> > > -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs
> -cy -da
> > > -de -dsb -el -en-CA -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa
> -ff -fi -
> > > fr -fur -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 -sc -sco -si -sk -skr
> -sl -son
> > > -sq -sr -sv -szl - ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh
> -zh-CN
> > > -zh-TW" LLVM_SLOT="18 -17 (-19)" 546,124 KiB
> > >
> > > https://gitweb.gentoo.org/repo/gentoo.git/commit/?
> > > id=75c0bdfd0b02568466c14d81aa0027c873a76617
> >
> > Unless I miss something, I don't see evidence of that in the
> ebuilds.
> > It looks like IUSE has changed from +clang to just clang in the
> latest
> > ebuilds in both slots. Is it possible there is something else in
> your
> > make.conf or packages.* which disables it? Actually, it might be
> that
> > you need to explicitly add clang to packages.use, as not it is still
> > allowed, but does not default to on.
>
> I've checked and I have no bespoke directives for USE="clang".
> Emerge will
> use whatever is the default setting for this flag.
Right, and since clang is not set by default in make.conf or your
profile, it is not set for firefox, although the IUSE=+clang set it as
the default in the prvious ebuild.
>
> Without USE="clang" the emerge takes 12-18% longer, but I am not sure
> what is
> the recommended compiler for FF or why it was changed.
My inadequate understanding (from the wiki) is that clang works better
with firefox's use of rust, compiling faster and giving better
performance due to optimizations which don't happen with gcc. Without
having read the git logs for the ebuild, I would assume the change is
because the relative build and runtime performance using gcc vs. clang
has changed.
>
> PS. Also I do not understand the meaning of these notations:
>
> IUSE="foo"
This just says that the package responds to the use flag "foo"
> IUSE="+foo"
This also says that the default value of "foo" for this package is on,
unless explicitly unset in make.conf or package.use.
> IUSE+="foo"
The "+=" (similar to use with ENV variables) appends the right hand
string to the current value, allowing the full set of IUSE flags to be
set over more than one line, where without the "+" a second "IUSE=xxx"
line in an ebuild would just completely override a previous line.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [gentoo-user] Re: Firefox and clang
2024-11-01 17:50 ` Michael
@ 2024-11-01 18:08 ` Jack
2024-11-04 7:27 ` Wols Lists
1 sibling, 0 replies; 9+ messages in thread
From: Jack @ 2024-11-01 18:08 UTC (permalink / raw
To: gentoo-user
I sent my previous reply before seeing this, and I have still not
received Marco's message, which explains thing better then I did.
On 2024.11.01 13:50, Michael wrote:
> On Friday 1 November 2024 17:00:20 GMT Marco Rebhan wrote:
> > On Friday, 1 November 2024 17:41:25 CET Michael wrote:
> > > Without USE="clang" the emerge takes 12-18% longer, but I am not
> sure what
> > > is the recommended compiler for FF or why it was changed.
> >
> > Hi Michael,
> >
> > https://bugs.gentoo.org/941878 seems to be the relevant bug with
> discussion
> > on why it was changed.
>
> Thanks! From what I read briefly, I understand clang is recommended
> upstream
> and therefore was set as a default flag. However, a rust Vs rust-bin
> version
> clash can occur and since FF patched their code to work with gcc,
> setting
> clang as the default compiler is no longer considered necessary - at
> least
> this is the present status.
>
> I don't know what the runtime performance impact may be of the
> current clang
> Vs gcc[1], but compilation times were longer on my systems, loosely
> comparing
> FF versions 128.3.1 to 128.4.0.
>
> [1]
> https://stackoverflow.com/questions/3187414/clang-vs-gcc-which-produces-faster-binaries
>
>
> > > PS. Also I do not understand the meaning of these notations:
> > >
> > > IUSE="foo"
> >
> > Everything outside the quotes is normal bash syntax, the variable
> contents
> > are interpreted by Portage.
> >
> > This sets the ebuild to have USE flags "foo". (If IUSE was set
> before this
> > line, it will clear out all the USE flags that were defined before.)
> >
> > > IUSE="+foo"
> >
> > This sets the ebuild to have USE flags "foo", the preceding "+" on
> the USE
> > flag means it is enabled by default.
> >
> > > IUSE+="foo"
> >
> > This appends to the previous IUSE value. Equivalent to
> IUSE="${IUSE}foo"
> > (note the missing space, hence why the Firefox ebuild uses IUSE+="
> foo"
> > instead).
> >
> > Cheers,
> > Marco
>
> Thanks for this clear and succinct explanation! :-)
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [gentoo-user] Re: Firefox and clang
2024-11-01 17:50 ` Michael
2024-11-01 18:08 ` Jack
@ 2024-11-04 7:27 ` Wols Lists
2024-11-04 15:12 ` Philip Webb
1 sibling, 1 reply; 9+ messages in thread
From: Wols Lists @ 2024-11-04 7:27 UTC (permalink / raw
To: gentoo-user
On 01/11/2024 17:50, Michael wrote:
> Thanks! From what I read briefly, I understand clang is recommended upstream
> and therefore was set as a default flag. However, a rust Vs rust-bin version
> clash can occur and since FF patched their code to work with gcc, setting
> clang as the default compiler is no longer considered necessary - at least
> this is the present status.
On my system, clang is explicitly disabled. This was thanks to Firefox
and Thunderbird repeatedly failing to compile, which is apparently a
problem with clang and older CPUs.
Cheers,
Wol
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [gentoo-user] Re: Firefox and clang
2024-11-04 7:27 ` Wols Lists
@ 2024-11-04 15:12 ` Philip Webb
0 siblings, 0 replies; 9+ messages in thread
From: Philip Webb @ 2024-11-04 15:12 UTC (permalink / raw
To: gentoo-user
241104 Wols Lists wrote:
> On 01/11/2024 17:50, Michael wrote:
>> ... I understand clang is recommended upstream
>> and therefore was set as a default flag.
>> However, a rust Vs rust-bin version clash can occur
>> and since FF patched their code to work with gcc,
>> setting clang as the default compiler is no longer considered necessary
> On my system, clang is explicitly disabled,
> thanks to Firefox and Thunderbird repeatedly failing to compile,
> which is apparently a problem with clang and older CPUs.
I updated Firefox to 128.4.0 a few days ago & '-clang' was the default,
so I left it alone & it took 32 min instead of the previous 26 min ;
it's a fast machine.
--
========================,,============================================
SUPPORT ___________//___, Philip Webb
ELECTRIC /] [] [] [] [] []| Cities Centre, University of Toronto
TRANSIT `-O----------O---' purslowatcadotinterdotnet
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2024-11-04 15:13 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-01 11:15 [gentoo-user] Firefox and clang Michael
2024-11-01 14:43 ` [gentoo-user] " Jack Ostroff
2024-11-01 16:41 ` Michael
2024-11-01 17:00 ` Marco Rebhan
2024-11-01 17:50 ` Michael
2024-11-01 18:08 ` Jack
2024-11-04 7:27 ` Wols Lists
2024-11-04 15:12 ` Philip Webb
2024-11-01 18:05 ` Jack
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox