public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
* [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