Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Chromium trainwreck
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
miket
Guru
Guru


Joined: 28 Apr 2007
Posts: 488
Location: Gainesville, FL, USA

PostPosted: Mon Apr 08, 2024 3:28 am    Post subject: Chromium trainwreck Reply with quote

I've started with a fresh new-from-stage3 installation on my binary build host so that I can have a clean 23.0-profile setup. Things were going great until I hit www-client/chromium. I see that the upstream has thrown a rusty wrench into the works. (Durn, I hate Rust!)

A couple of days ago I hit the problem where the chromium ebuild wanted to pull in dev-lang/rust. I found a forum post which addressed this, but I found neither offered solution to be workable.
  1. install unstable dev-lang/rust with USE=profiler
  2. use the bundled tools to build chromium with USE flags -system-toolchain and libcxx

Solution #1 was awful: do a full build of Rust and an unstable version at that. Solution #2 didn't work: the ebuild would not recognize the libcxx USE flag, no matter what I did.

In that post, grknight offered a glimmer of hope re. solution #1: the next version of chromium would have virtual/rust as a dependency, so I could use the binary version. There is still that niggling concern about installing an unstable version, especially for a language project whose maintainers seem to disvalue stability.

I decided to wait a couple of days and wait for newer ebuilds to come available. Sure enough, version 123 depends on virtual/rust[profiler], but still needs unstable rust.

For solution #2, I'm still trying to figure out the evil magic that keeps the libcxx USE flag from working. This is perverse: even though I find libcxx to be present in the IUSE in all the available chromium ebuilds, it shows up in equery u for only some of them: versions 123.0.6312.86 and 124.0.6327.29 (both unstable) show the USE flag, but versions 122.0.6261.111 and 123.0.6362.105 do not show the USE flag. Sigh, those are the stable versions.

It's not even like there's a big difference between the 123.0.6362.{86,105} ebuilds. The former has the ~amd64 keyword and does not force the vaapi, wayland, and widevine USE flags, whereas the stable version does force those USE flags. Why is it that the latter does not recognize libcxx?

Are there any prospects that we'll see a stable rust-bin version with the profiler USE flag? I suspect that I'd get the best results that way.

What about a solution that uses -system-toolchain? Is there a prospect for a stable version of chromium that recognizes the libcxx USE flag, or should I just go with the unstable chromium version 124.0.6327.29? That one at least does not complain when I did a test run of
Code:
ACCEPT_KEYWORDS="~amd64" USE="-system-toolchain libcxx" emerge -vp =chromium-124.0.6327.29
Back to top
View user's profile Send private message
e8root
n00b
n00b


Joined: 09 Feb 2024
Posts: 72

PostPosted: Mon Apr 08, 2024 5:53 am    Post subject: Reply with quote

I am now updating chromium to 123.0.6312.105
It did want virtual/rust-1.75.0-r1 but it was an instant build. I had dev-lang/rust-1.75.0-r1 installed - both packages are stable.

I get there are some changes regarding USE flags but to be honest I am not sure what the issue really is... principles? Cause in neither performance nor stability departments Rust should be worse than C/C++. At the very least benchmarks seem to be often very favorable for Rust.
_________________
Unix Wars - Episode V: AT&T Strikes Back
Back to top
View user's profile Send private message
Chiitoo
Administrator
Administrator


Joined: 28 Feb 2010
Posts: 2575
Location: Here and Away Again

PostPosted: Mon Apr 08, 2024 10:02 am    Post subject: Re: Chromium trainwreck Reply with quote

miket wrote:
It's not even like there's a big difference between the 123.0.6362.{86,105} ebuilds. The former has the ~amd64 keyword and does not force the vaapi, wayland, and widevine USE flags, whereas the stable version does force those USE flags. Why is it that the latter does not recognize libcxx?

It seems to be masked for stable [1] due to llvm-17.

Code:
# Sam James <sam@gentoo.org> (2023-10-23)
# Requires llvm-17.
>=www-client/chromium-118 libcxx lto pgo

1. https://gitweb.gentoo.org/repo/gentoo.git/tree/profiles/base/package.use.stable.mask#n12
_________________
Kindest of regardses.
Back to top
View user's profile Send private message
miket
Guru
Guru


Joined: 28 Apr 2007
Posts: 488
Location: Gainesville, FL, USA

PostPosted: Mon Apr 08, 2024 4:27 pm    Post subject: Reply with quote

e8root wrote:
I am now updating chromium to 123.0.6312.105
It did want virtual/rust-1.75.0-r1 but it was an instant build. I had dev-lang/rust-1.75.0-r1 installed - both packages are stable.

I get there are some changes regarding USE flags but to be honest I am not sure what the issue really is... principles? Cause in neither performance nor stability departments Rust should be worse than C/C++. At the very least benchmarks seem to be often very favorable for Rust.


I see that indeed stable versions of dev-lang/rust have the profiler USE flag, but no stable version of dev-lang/rust-bin does. In order for you to have emerged chromium with -system-toolchain, you must have had that the profiler USE flag set.

Here is the problem with Rust: its development pace makes for tons of churn; it is hard to reach the stable version. It takes forever to build, so I grab rust-bin instead of rebuilding Rust.

I just now took a look at the qlop output for dev-lang/rust from back at the time I went through those builds in 2022. I see that they took around 45 minutes, but it seems like it took longer. Sigh--I'll give dev-lang/rust[profiler] a go, but I'm not happy about it. I hope that when I do so I won't have other problems with chromium.
Back to top
View user's profile Send private message
miket
Guru
Guru


Joined: 28 Apr 2007
Posts: 488
Location: Gainesville, FL, USA

PostPosted: Tue Apr 09, 2024 10:58 am    Post subject: Reply with quote

So I stuck with stabilized packages and waited a long time for the builds. Whereas rust-bin had been taking a minute or so to merge, it took over an hour to build rust with the profiler USE flag. Next came the chromium build: this time it worked, but the build time went from the 9-hour ballpark to 11 hours.

Wow, 12 hours to get chromium. I'll need to get more memory for my build host.

I hope we start seeing a stable rust-bin with the profiler flag available.
Back to top
View user's profile Send private message
e8root
n00b
n00b


Joined: 09 Feb 2024
Posts: 72

PostPosted: Thu Apr 11, 2024 7:37 am    Post subject: Reply with quote

On my 24 core 13900KF without HT rust takes ~19 minutes to build rust and 86 minutes to build chromium. Could be faster but I don't like HT so I don't use it. Still it is less than two hours to have web browser updated. Its nowhere $instant as with binary packages but on modern CPUs the build experience is certainly not terrible. I would even say that pace of progress in the hardware outpaces pace the software itself grows so build times decrease over time... for as long as you are willing to upgrade the hardware which for most intents and purposes isn't really necessary as for most things even older quad cores are sufficient. Heck, at my job I have 2c/4t laptop and as long as I don't try to build anything on it directly it performs... good enough.

Anyways solution to build times seems fairly simple and straightforward and the same as for most things: throwing more money at the issue :lol:

BTW. Personally I don't think there will be rust-bin with profiler.
The -bin packages was workaround for not having proper binary package system in-place. Now that we have binpkgs it is just a matter of building more versions of packages and these -bin versions aren't really needed and will probably get phased out eventually.

For now I didn't see rust with profiler available with profiler USE flag or chromium (at least the version I use - which is the newest stable version) for that matter so there is definitely some more effort from Gentoo's build package hosts necessary to bring Gentoo to the point one could use it as ordinary binary distribution but with more flexible build system... or simply something more akin to FreeBSD.
_________________
Unix Wars - Episode V: AT&T Strikes Back
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum