Clang as default compiler November 4th
dougb at FreeBSD.org
Tue Sep 11 09:44:08 UTC 2012
On 09/11/2012 02:27 AM, Lars Engels wrote:
> On Mon, Sep 10, 2012 at 10:54:04PM -0700, Doug Barton wrote:
>> As of last week, 4,680 ports out of 23,857 failed to build with clang on
>> 9-amd64. That's almost a 20% failure rate. Until we have better support
>> for either building ports with clang, or have better support for the
>> idea of a "ports compiler," this change is premature. The ports are an
>> important part of the FreeBSD Operating _System_, and pulling the
>> trigger on the default compiler before the ports problems are addressed
>> robustly seems like a big fat FU.
>> That said, I agree that this issue needs to be addressed. In fact, 9
>> months before the release of 9.0 I said on the internal committers list
>> that there was no point in making a new release until we had thoroughly
>> addressed both the default compiler for the base, and resolving the
>> "ports compiler" issue. While there has been some movement on the
>> former, there has been nothing done on the latter for years now, even
>> though everyone agrees that it is an important issue.
>> I'd like to request that rather than moving the default compiler
>> prematurely that you call for volunteers to address the problems with
>> the ports. Both the issues of fixing more ports to build correctly with
>> clang, and the issue of defining a "ports compiler" version of gcc (and
>> appropriate infrastructure) for those that can't. Once those issues are
>> resolved there would not be any further obstacles to moving the default.
>> Until they are, the change is premature.
> Doug, as you can already use CLANG instead of GCC now, you will be able
> to use GCC instead of CLANG after November 4th.
There's lots of things I _can_ do, what we're discussing is what the
defaults should be.
> At the moment the ports maintainers don't give much about if their ports
> build with CLANG or not
Do you follow ports development? At all? There have been extensive
efforts over the last several years to get more ports compiling with
clang. The problem is that things like the c89 issue don't percolate
down, and we don't have a concerted effort from all of the relevant
parties to improve the issue.
Fixing the problem of getting the right eyeballs on the things that need
fixing won't be improved by switching the default before they are fixed.
In fact, it's likely to make the people who are src-centric now even
less likely to help because their work will be "done."
> Those who don't run CURRENT won't notice, but those who do will have to
> get their butts up and fix the ports, so 10.0 can have 99% of all ports
> build with CLANG and even 8.x and 9.x can already profit from having the
> broken ports fixed now.
Yeah, and I'm going to get a pony out of this deal, right? :)
You completely misunderstand the nature of the problem, therefore your
proposed solution isn't going to solve it.
More information about the freebsd-current