View previous topic :: View next topic |
Author |
Message |
miket Guru
Joined: 28 Apr 2007 Posts: 488 Location: Gainesville, FL, USA
|
Posted: Mon Apr 08, 2024 3:28 am Post subject: Chromium trainwreck |
|
|
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.- install unstable dev-lang/rust with USE=profiler
- 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 |
|
|
e8root n00b
Joined: 09 Feb 2024 Posts: 72
|
Posted: Mon Apr 08, 2024 5:53 am Post subject: |
|
|
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 |
|
|
Chiitoo Administrator
Joined: 28 Feb 2010 Posts: 2575 Location: Here and Away Again
|
Posted: Mon Apr 08, 2024 10:02 am Post subject: Re: Chromium trainwreck |
|
|
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 |
|
|
miket Guru
Joined: 28 Apr 2007 Posts: 488 Location: Gainesville, FL, USA
|
Posted: Mon Apr 08, 2024 4:27 pm Post subject: |
|
|
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 |
|
|
miket Guru
Joined: 28 Apr 2007 Posts: 488 Location: Gainesville, FL, USA
|
Posted: Tue Apr 09, 2024 10:58 am Post subject: |
|
|
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 |
|
|
e8root n00b
Joined: 09 Feb 2024 Posts: 72
|
Posted: Thu Apr 11, 2024 7:37 am Post subject: |
|
|
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
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 |
|
|
|
|
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
|
|