the calm before the storm
if you are building the entire base of joborun on your system you need to read this
gcc 15.1 --> gcc 14.3,0
Summary: we have silently rebuilding from ground up with gcc 14.3 and if all goes well we will be retracting from gcc15 back to 14. The reason is a month after 15 was released 14 received a serious upgrade fine-tuning it to be the best compiler in existence, without the strict demand of gcc15.
While in the end of April arch suddenly jumped from gcc 14.2,1 to 15.1.0 we followed, not very critically and educated on the specifics. gcc15 promised a ton but if and when the entire upstream community would comply with their changes, which has created major hickups, especially in the area of reproducibility. If you have noticed upgrades from arch and therefore ourselves have been very sporadic. It is the end of the month and arch releases an image they attempt to make as stable as possible, so upgrades usually drom in the last week of the month.
We used this calm season to spend every milligram of computing juice to rebuild. We upgraded glibc, libtool, binutils if upgrades were available, reverted linux-api-headers back to 5.15 from 6.6, and retune the system for higher stability and reliability. There are many things we like to keep in the cutting edge of upstream development but build-tool-chain doesn't need to be in the bleeding edge. Especially when the kernel itself is resisting to adopt all changes required by gcc15, and since we build still kernels frozen in Oct 2024 it feels awkward to have to use gcc14 for the kernels and gcc15 for everything else.
Just last week gcc 14.3.0 came out, a month after gcc15.1 was out and with great promises due to bug fixes and refinement. The speed superiority of gcc15 didn't materialize in a significant way, and the feeling from gcc 14.3.0 is very very good. Void still in this moment is using 14.2.0- April 5/25 release.
We believe this is the best of both worlds. We are also re/building software that readily failed to rebuild with gcc15, so this is a great step forwards even if it appears as retracting.
The practical issue will be how smoothly the upgrade to an earlier version number gcc will go. Hopefully a simple tag "replaces=gcc ... 15.." will suffice.
With all tests succeeding, with a 2 machines with equivalent installations running software build with 15 but running on gcc14-libs and vice-versa hasn't showed any issues. Theoretically, once something is compiled and build successfully it doesn't matter what gcc libs you have installed.
We even have old discontinued software built on gcc11 many equinoxes ago.
Bottom line: If you are in the process of rebuilding an optimized machine from scratch, be a few days patient till we finish updating the code. What is currently on git.disroot reflects the changes already that don't match binaries (binutils, linux-api-headers, libtool, glibc, gcc) but we need to also run rolling updates on the current binaries. In other words joborun now is forked, upgrades from core and extra come out of a builder with gcc15 while the other builder is building on the new tool chain.
Stay in touch and so are we
Iri Yan likes this.
Iri Yan
in reply to joborun linux • • •More and more arch updates/upgrades/rebuilds keep getting parched to build with gcc15, otherwise they fail.
This was a very good and honorable call and move. The system builds faster than ever before.
Kerry (kokanee) likes this.