Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Jul 2019 23:16:53 +0200 (CEST)
From:      Gerald Pfeifer <gerald@pfeifer.com>
To:        Mark Linimon <linimon@lonesome.com>
Cc:        Piotr Kubaj <pkubaj@anongoth.pl>, Alexey Dokuchaev <danfe@freebsd.org>,  Cy Schubert <Cy.Schubert@cschubert.com>,  "Jason W. Bacon" <jwb@FreeBSD.org>, ports-committers@freebsd.org,  svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   USE_GCC=any -> USE_GCC=yes (was: svn commit: r504198 - head/Mk)
Message-ID:  <alpine.LSU.2.21.1907042302300.4639@anthias.pfeifer.com>
In-Reply-To: <20190704203112.GA6138@lonesome.com>
References:  <201906141610.x5EGAdnN049103@repo.freebsd.org> <F69E23F2-E526-4B3F-95EB-1786222C2D61@cschubert.com> <20190614165425.GA42674@FreeBSD.org> <8BDC3B40-7FEA-46EA-AE7C-A3C266F6978F@cschubert.com> <20190614175822.GA3336@FreeBSD.org> <20190615061345.GA20346@lonesome.com> <alpine.LSU.2.21.1906151028570.3441@anthias.pfeifer.com> <20190615084354.GA33091@ThinkPad-X200.g.anongoth.pl> <alpine.LSU.2.21.1906151058350.3441@anthias.pfeifer.com> <20190704203112.GA6138@lonesome.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 4 Jul 2019, Mark Linimon wrote:
> But ... what I understand is that "any" means "it's ok to use base
> gcc".  That was always the intended difference to "yes" which means
> "you *must* use a recent gcc" [e.g. from ports].
> 
> I don't really see why we need to add the dependency on a newer gcc
> if the version in base suffices.  What am I missing here?

I think we agree that nearly all FreeBSD users and developers are on
amd64 (or i386)

When a port maintainer or committer sets USE_GCC=any she and (nearly) 
everyone else therefore uses GCC 8 as of today.

When that port is then built on powerpc64, USE_GCC=any implies the age 
old GCC 4.2 in base, and thus the build is attempted with a compiler 
very, very different from what the original maintainer/committer/testers
and users had.

> (Granted, this distinction becomes meaningless in FreeBSD e.g. 13 when
> base gcc is deleted -- but we will still be supporting 11/12 for quite
> some time to come.)

And rejoicing there will be! :)

>>> Most ports just need USES=compiler:*.
>> Yes, and that's where we should take action as well.
> And by default we have been doing that -- unless it is *known* that
> the port simply won't build with clang and thus requires USE_GCC.  
> OTOH there has been recently pushback that "you could have done the 
> same thing more minimally by" (specifying c99, etc.)
> 
> The problem is, we've tried to take the fastest route to getting as
> large a set of packages built as possible.  Thus:
> 
>   Mon Nov 19 13:48:26 UTC 2018          11304
>   Sun Jun 16 06:10:04 UTC 2019          27953
> 
> but again, a) we're getting pushback; b) in any case, work has to be
> done on ~120 ports to fix the "powerpc means gcc" assumption, which
> will soon be smashed in -CURRENT (per above).
> 
> (Frankly, except for the latter I would leave the whole issue alone.
> Even if we spend ~1hr/port to prove that c99 is "more minimal", that's
> still ~100 hours.)

I'm not proposing to make things more complicated or increase effort.

I'm proposing for USE_GCC=any to behave exactly the same on powerpc64
as it has been on amd64/i386 for years: Imply usage of a modern version 
of GCC coming from the ports tree.

That is: let's align powerpc64 with amd64/i386 instead of being different.

Makes sense?

Gerald



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.LSU.2.21.1907042302300.4639>