Page MenuHomeFreeBSD

Fix powerpc64 gcc dependency loop
ClosedPublic

Authored by kbowling on Aug 18 2018, 10:20 AM.
Referenced Files
Unknown Object (File)
Tue, Mar 26, 3:12 PM
Unknown Object (File)
Feb 24 2024, 2:36 PM
Unknown Object (File)
Feb 24 2024, 2:35 PM
Unknown Object (File)
Feb 24 2024, 2:35 PM
Unknown Object (File)
Feb 24 2024, 2:16 PM
Unknown Object (File)
Feb 8 2024, 12:32 PM
Unknown Object (File)
Feb 3 2024, 7:30 PM
Unknown Object (File)
Jan 13 2024, 9:52 AM
Subscribers

Details

Summary

We apparently need gcc 4.9 or greater to bootstrap newer gccs on powerpc64. USE_GCC= yes creates a self reference as the compiler version is bumped (i.e. GCC7 is now default), so just hard code these all to gcc5 which does seem to bootstrap.

See these commits for further reference:

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

gerald requested changes to this revision.Sep 4 2018, 9:19 PM

From what I can see, this should only be required for lang/gcc7{,-devel}
not later versions, since them using USE_GCC=yes will then rely on the
canonical version which is GCC 7 -- unless someone does not build in a
clean and separate build environment, which isn't really recommended
any longer.

Am I missing something?

In any case,

Approved by: gerald (maintainer)

for lang/gcc7 and lang/gcc7-devel.

Oh, and can you please remind us all what the issue we need to work around is?
I trust you, but right now memory fails me, and "We apparently need gcc 4.9 or
greater to bootstrap newer gccs on powerpc64" is a bit nebulous. Documenting
this here and in the commit message would be great. Thanks!

This revision now requires changes to proceed.Sep 4 2018, 9:19 PM

For the record "needs revision" only due to my questions/doubts re gcc8* and gcc9* -- gcc7 is ready to go,
and I'd encourage you to commit right away. Hope this helps clarify?

@gerald The issue right now is that there is a dependency loop, gcc7 wants gcc7 to build gcc7.

You are right that setting this just on gcc7 will work for now.

The reason I specified it on the others was for future when GCC_DEFAULT is updated, since this was a regression from gcc6. Any thought on that, should we just limit it to gcc7 for now and let that be dealt with when it happens?

@timur @krion can you approve for just the agreed upon gcc7 part?

@gerald The issue right now is that there is a dependency loop, gcc7 wants gcc7 to build gcc7.

You are right that setting this just on gcc7 will work for now.

The reason I specified it on the others was for future when GCC_DEFAULT is updated, since this was a regression from gcc6. Any thought on that, should we just limit it to gcc7 for now and let that be dealt with when it happens?

Yes, that is my suggestion. And I need to do a better job of keeping this in mind when updating GCC_DEFAULT.

@timur @krion can you approve for just the agreed upon gcc7 part?

You don't need any further approvals; I already provided mine. :-)
(Though of course @krion's and @timur's input is always welcome.)

Approved for gcc7* changes

This revision was not accepted when it landed; it landed in state Needs Revision.Sep 4 2018, 10:26 PM
This revision was automatically updated to reflect the committed changes.