libgcc/gcc upgrades on 10.5 issues, libgcc versions
Ken Cunningham
ken.cunningham.webuse at gmail.com
Tue Dec 17 17:14:01 UTC 2024
> On Dec 17, 2024, at 1:49 AM, Riccardo Mottola via macports-dev <macports-dev at lists.macports.org> wrote:
>
> Hi,
>
> I noticed the gcc14 upgrade has been merged. I previously tested it on 10.5 x86 and succeded.
>
> Now I want it "official". On the system where I tested, I swhichted again to rsync repository, hiding the github one, and am rerunning upgrade... it is running.
>
> On 10.5 PPC it is compiling libgcc14 --- will take some time
>
> On 10.5 i386 32bit instead... things got entangled.... i saw it started building libgcc8 and libgcc9 instead of 14... then started erroring out that libgcc9 conflicts with libgcc7 and such
>
> why is gcc9 installed? I didn't have it... I aborted and ended with this complicated situation:
>
> libgcc @1.0_0
> libgcc @2.0_1
> libgcc @2.0_2
> libgcc @3.0_0
> libgcc @5.0_0
> libgcc @6.0_0
> libgcc @7.0_0
> libgcc @8.0_0 (active)
> libgcc6 @6.5.0_1
> libgcc6 @6.5.0_4 (active)
> libgcc7 @7.3.0_4
> libgcc7 @7.4.0_0
> libgcc7 @7.4.0_3
> libgcc7 @7.4.0_4
> libgcc7 @7.5.0_0
> libgcc7 @7.5.0_1 (active)
> libgcc9 @9.5.0_2
> libgcc10 @10.4.0_5+stdlib_flag (active)
> libgcc11 @11.4.0_1+stdlib_flag (active)
> libgcc12 @12.4.0_1+stdlib_flag (active)
> libgcc13 @13.3.0_2+stdlib_flag (active)
>
> I tried deactivating libgcc9 and activating v7 of libgcc, then restarted upgrade. Now it is building libgcc14 ... see you another day :)
>
> I am a littlebit confused by this "libgcc @8.0" but libgcc7 and libgcc9 and no libgcc8 ?
>
> Riccardo
>
For the dev mailing list.
The default gcc update to gcc14 for older systems appears to work on all the systems where it has been tested. Kudos to the folks who did the heavy lifting in the PR for that, and for feedback from Josh and Chris to help it go as smoothly as possible.
A build of libgc9 will be needed, as libgcc9 adds unique files to the libgccN mixture.
A rebuild of libgcc7 will be needed, as it now provides only the libs not existing in newer libgccN versions.
Two builds of gcc14 will be needed, one for libgcc14, and one for gcc14 itself.
You will probably also eventually have to build gcc10, as it is in the fallback compiler list, but you can wait to see when/if it gets called in.
Yes — that is a serious amount of building. Sorry about that. No way around it, but it it could have been worse, had we not sorted out how many of the libgccN versions are just stubs.
Yes — would be great if we had a buildbot.
Some things don’t build with gcc14 as it is more strict than the previous default gcc7. You can blacklist gcc14 and gcc10 in the port file and the build will fall back to gcc7 as before. Hopefully that will go OK — if I understand how it all goes, gcc7 will build using the new headers from libgcc14, so there still might be some hiccups.
Yes, gcc14 is very new to be set as the default compiler. We may regret doing it. But — that was the gcc that had been used for the past while on 10.6-for-PPC and manually implemented by barracuda on his 10.5 PPC system, and that, frankly, was the gcc that folks had any enthusiasm about implementing.
So that was the gcc that was worked on a pushed in the month-long 200+ post PR where all the work for this happened.
I sincerely hope there is no significant ABI difference found with libgcc14 compared to libgcc7. So far, seems like there is not. Time will tell. If there is, we will deal with it.
Ken
More information about the macports-dev
mailing list