My thoughts on Slackware, life and everything

Tag: rust

Chromium 152 – a pain to compile, so have patience (similar for LibreOffice)

Chromium 152 sources contain another major step for Google to unify their build infrastructure. Great for Google but for me it sucks.

Because unfortunately for me (and for you, the Chromium browser user) Google introduces new tools as part of their custom Rust toolchain that I am unable to compile locally as Slackware-native binaries. The “cc_bindings_from_rs” tool biting me in particular, part of the “crubit” project, also from Google.
Which means that (for now) I have to use the pre-built LLVM and Rust toolchain binaries that are embedded in the Chromium source tarball.
There’s a big ‘gotcha‘ to that now, something that was never an issue before. They have built “cc_bindings_from_rs”  on a system that is more modern than Slackware 15.0, so that this binary (and also several others as I found out) fail to run on Slackware 15.0, complaining “version `GLIBC_2.34′ not found“. As a result, the chromium.SlackBuild script fails to produce a package.

For the time being, I refuse to ditch support for Slackware 15.0 and I will keep trying to find a way to compile Chromium 152. This is galling, because I would like to spend my precious time on actually useful stuff instead of fighting Google at their own game. Still, the amount of CVE’s that is addressed by Chromium 152 is huge and I cannot ignore that.

Then LibreOffice is adding insult to injury. You might have seen in my repository’s ChangeLog.txt that I only released LibreOffice 26.8.0 as 64bit Slackware packages (15.0 and -current). I can not make the 32bit compile work here. An issue (looks like a compiler trap) which is unrelated to the Chromium problem, but it shows a troubling trend: the disregard that developers have for users of older 32bit hardware and older Operating Systems. The build of this new release simply was never properly quality-tested on 32bit.

To be continued.

Update 20260830:
For 32bit Chromium I found a solution which I documented in a separate blog article.
For 32bit LibreOffice I also found a fix, which boils down to “make sure that clang does not run out of address space on a 32bit host”. I disabled debug symbols, reduced code compilation optimizations, cranked up the stack limit and reduced the parallelism from “use all your cores” to “just four, no more”. All of this combined has indeed helped clang avoid traps and segfaults. Takes a lot longer to complete but that’s the compromise.

Chromium 121 for Slackware… don’t hold your breath

Chromium 121 sources were released yesterday, and as much as I would like to tell you that the Slackware packages are ready, in fact it appears that you will have to wait for them for an unspecified amount of time.

I found out that the build of Chromium now needs Google’s custom version of the Rust compiler, next to Google’s custom version of the Clang compiler. Those Rust and Clang versions are intertwined and Google advises packagers to simply use their own pre-compiled binaries which they provide for download.

You guessed… those binaries are not available for a 32bit OS. Nothing new, and it is for that exact reason that as part of compiling Chromium for Slackware, the complete LLVM toolchain is built from Google’s sources first. For every package I release. Tweaking the LLVM/Clang compilation so that they work for 32bit Slackware took a lot of time – after all, no one at Google tests their sources for 32bit build compatibility. So I patch here and there and every time feel lucky that it still works.

Until today, when I ran into the new Rust requirement. And after the umptiest iteration of a Chromium package build using a variety of changing options, I still fail to even start compiling a Rust binary.

I am taking a break from this to consider my options. My aim is to keep supporting the 32bit Slackware package. I just need to figure out how Google messed this up again and find a way around it. In the meantime, don’t hold your breath – I only have a few hours each evening to do the troubleshooting. A new package will appear when it’s ready.

All the best, Eric

Update 2024-jan-29: I have buillt 64bit packages for Chromium (also -ungoogled) version 121.0.6167.85 and uploaded them to my repository.
Note that I can not currently compile their 32bit versions because until now I have not been successful in building Google’s custom llvm and rust from source. I had to revert to downloading and using Google’s pre-compiled binaries which they only supply for 64bit systems.

I am still determined to find a way to compile these llvm and rust compilers from Google’s own sources. But I have no ETA on that unfortunately.

© 2026 Alien Pastures

Theme by Anders NorenUp ↑