Binutils, gcc and glibc

It doesn’t look like Arch Linux ARM is going to update their toolchain any time soon. Why, I have no idea, since their PKGBUILDs are up to date. Any chance Manjaro ARM would do a full rebuild with the latest and greatest binutils, gcc and glibc?

We tried doing this in the past, but it introduced so many issues, due to missing rebuilds from ALARM, that it’s not worth it. We would have to maintain a complete repository, instead of using the ones from ALARM at that point.

So in my opinion, it’s not worth it. The toolchain is not that out of date, gcc is on 12 series at least.

My guess is that you have to rebuild everything yourself, and not rely on ALARM. I don’t think ALARM had a full rebuild since at least 2015.

1 Like

Arch and the toolchain is a topic of its own. It is complex.The myth that Arch is always shipping the latest and greatest is a myth and stays also that way.

https://wiki.archlinux.org/title/DeveloperWiki:Toolchain_maintenance
https://bbs.archlinux.org/viewtopic.php?id=270662

To just point out some articles about the situation.

There is a reason why it is called a chain of core packages in a specific build order. You need knowledge on how to do it properly.

https://www.linuxfromscratch.org/lfs/view/11.0/partintro/toolchaintechnotes.html

Then we need to know how Arch ARM works. More or less it is a separate distro based on Arch, however not binary wise as it supports a total different Architecture for different CPUs or so called SoCs. So they can’t just use most of the Arch packages as Manjaro x86_64 does, they only source the PKGBUILDs and most of the original patches Arch provides and compile everything on remote ARM devices they either host themselves or in a datacenter.

Some packages even need additional patches or changes in how the software needs to been compiled for the ARM devices. Also ARM supports several architectures like x86_32 was a thing once (i686).

Manjaro only supports arch64, which is the most common architecture of ARM. There will be an Risc-V project coming, which is similar to ARM but way too early to talk about that architecture.

So in the end it needs some automization and sometimes manual intervention to build all the packages. Also if you define your own toolchain you’re not 100% binary compatible with the upstream project.

Ubuntu is based on Debian but compiles all packages in their datacenters for their supported architecture. We from Manjaro take most of the binary packages Arch distributions provide and compile our so called overlay packages against the binary packages we synced from Arch mirrors. This includes also which ever toolchain the upstream distro provides.

Besides the need to recompile all kernels there might be additional packages you have to consider to been checked when there are changes to the toolchain.

So ya, it is possible to have a newer toolchain, but if the given one has no major security issues, there is no need to be on the bleeding edge. Also it can define how stable your distro is.

So Arch ships always the latest software? NOT SO TRUE: