gcc version mismatches

Ryan Schmidt ryandesign at macports.org
Wed Nov 16 21:05:15 PST 2011


On Nov 16, 2011, at 23:00, Kyle Husmann wrote:

>> Ok. What solution are you advocating?
> 
> Sorry, I don't have any solutions at the moment. Frankly this is out
> of my expertise. I like your idea to mix and match the fsf fortran
> compiler with the osx toolchain though.
> 
> Still, it would be nice to give the user the option to maintain an
> entire macports ecosystem all compiled with the fsf gcc, instead of
> having to manually add the configure.compiler line to all the
> installs. I realize this probably creates a bunch of issues of its own
> though.

I'm certain that would create many problems. I'm fairly certain it would create more problems than it solves.

>> It sounds like you're saying we should never mix Apple gcc compilers with fsf gcc compilers. Some very small number of ports require a newer gcc than Apple provides, hence the fsf gcc is the only option. What should we do in that case: force the user to rebuild all ports?
> 
> From my understanding, yes, this would be the only way to go.
> 
>> Is it only Apple gcc that's a problem? If so, does that mean the problem is already resolved when using Xcode 4 on Lion and Snow Leopard, where the default compiler is not gcc, but Apple llvm-gcc or Apple clang (depending on Xcode version)?
> 
> I'm not familiar with llvm-gcc here so I can't answer this.
> 
>> Is Apple clang vs. plain clang also a problem?
> 
> No idea, but since C is much simpler of a language, I would probably
> guess it was OK.

In Xcode 3 and earlier, since the beginning of OS X, Apple used the gcc compiler collection to compile C, C++ and Objective-C code.

In Xcode 4.2 and later, Apple no longer ships any version of gcc; it now uses the clang compiler collection to compile C, C++ and Objective-C code.

So, llvm-gcc and clang are where most of our efforts should be focused. The Apple version of gcc is already dead to Apple, never to be revived.




More information about the macports-users mailing list