[R-SIG-Mac] GCC v. LLVM

Prof Brian Ripley ripley at stats.ox.ac.uk
Sun Mar 13 23:04:34 CET 2011


'Universal' is a moveable feast.  For Tiger, it seemed to be 4 archs 
(i386, x86_64, ppc, ppc64), We now have 3, and at some point soonish 
there will be 2 (no ppc) once Leopard support goes.

I've not seen a (powered up) PowerPC machine for at least a year, but 
quite a few 10.5 systems (indeed, I have one, mainly to continue to be 
able to build/test software I might distribute).

My guess is that 10.7 this summer will ship with Xcode 4  (Xcode is a 
collection of tools, not just an IDE).  At that point we may need to 
decide exactly what Mac platforms we will support with binary builds.
Already it is moot if we need i386 builds: hardware that does not run 
x86_64 is now several years old (and is probably running Tiger).

On Sun, 13 Mar 2011, Marc Schwartz wrote:

> Hi Simon,
>
> On Mar 13, 2011, at 11:27 AM, Simon Urbanek wrote:
>
>> Marc,
>>
>> On Mar 13, 2011, at 11:18 AM, Marc Schwartz wrote:
>>
>>> On Mar 11, 2011, at 9:01 AM, Simon Urbanek wrote:
>>>
>>>> On Mar 9, 2011, at 8:26 PM, Anirban Mukherjee wrote:
>>>>
>>>>> Folks,
>>>>>
>>>>> I was wondering what the forward plans are for R on Mac vis-a-vis
>>>>> apple-gcc/Clang. Xcode 4 was just released with LLVM 2.x.
>>>>
>>>> For some definition of "released" - it's not really available to OS X users in general. For all practical purposes it's still a beta.
>>>
>>> Simon,
>>>
>>> Perhaps I am missing an implicit distinction being made, but XCode 4.0 is generally available to anyone on OSX, albeit there is a distinction from the prior versions.
>>>
>>> Up until now, you could sign up for a *free* Apple Developer program account and download XCode. You did not have to pay the $99 U.S. for an annual membership, which also gave you access to the various SDK's required for OSX and iOS. This is how I have been obtaining XCode for the past two years for free, since moving from Fedora.
>>>
>>> The model has now changed with 4.0, where you can either:
>>>
>>> 1. Pay the $99 U.S. annual fee and download XCode from http://developer.apple.com/xcode/
>>>
>>> 2. Go to the App Store on OSX and pay $4.99 U.S. to obtain XCode that way from http://itunes.apple.com/us/app/xcode/id422352214?mt=12&ls=1
>>>
>>>
>>> Clearly, the second option would be the most cost effective for general users, especially if they are not going to be building apps to make them available in the OSX or iOS App Stores. It is no longer free, but to pay $4.99 U.S. for the toolkit is arguably a steal.
>>>
>>> What am I missing in your statement above regarding general availability to OSX users?
>>>
>>
>> Xcode 3.x is bundled with OS X and anyone can get updates through ADC. Xcode 4 is not, it is available for Mac developer program members only [or those that happen to buy it as you pointed out] and thus no longer available to all OS X users. Hence Xcode 4 is no longer suitable for projects that rely on its availability to all users. It's a really awkward situation -- the benefits in Xcode 4 are really for the developer, not the user, so it makes sense to charge the developer -- but since they don't separate compilers from the GUI it kills the unix feel of OS X for the user. I'm curious how this will shake out (and other recent decisions like dropping Java support).
>
>
> I think that the key issue is that XCode 4 is 10.6 only in so far as 
> installation, which in turn means Intel based Macs only (and of 
> course target builds for the mobile A4/5 CPUs).
>
> For some reason, I thought that I had seen that it would still be 
> able to generate universal binaries, but upon further checking, that 
> does not appear to be the case.
>
> Thus, as long as one needs to build for older OSX versions and for 
> PPC platforms, it will not be suitable. It seems clear that Apple 
> has made a strategic decision regarding future platform support.
>
> Presumably in time, that becomes a non-issue, as with any transition 
> in OS and HW support.
>
> The other decisions, such as Java and Flash are interesting and will 
> of course, play out in time. The dynamics between Apple and 
> Adobe/Oracle make for interesting and sometimes, conspiratorial 
> dialog.
>
>>
>>> Also, are there plans afoot to move to XCode 4.0 for OSX builds of R?
>>>
>>
>> I'm not sure what you mean exactly, but if you mean CRAN binaries then that's not an option because Xcode4 only supports OS X 10.6. As I said, Xcode4 is really pointless from the user's point of view so far, so there is no need to rush. (FWIW R and the GUI does compile with Xcode 4).
>
> No rush and I don't have it yet. I was more trying to get a sense of direction for CRAN. However, as I note above, I was under the mistaken impression that XCode 4 could create universal binaries. Thus, as long as you need to be able to build them for end useRs on multiple OSX versions and CPUs, moving to it does not make sense. FORTRAN support is of course, yet another reason.
>
> Thanks Simon,
>
> Marc
>
>
>> Cheers,
>> Simon
>>
>>
>>>
>>>>
>>>>> From what I
>>>>> can tell, Apple will in the future only support Clang/LLVM. For now, I
>>>>> believe they are still including the same gcc as with 3.2. But longer
>>>>> term, the move seems to be to Clang/LLVM.
>>>>>
>>>>> http://developer.apple.com/technologies/tools/whats-new.html
>>>>> http://clang.llvm.org/
>>>>>
>>>>> Does R build with Clang/LLVM? I know Clang is being developed with a
>>>>> view to ensure GCC "compatibility".
>>>>>
>>>>
>>>> As Brian pointed out, R doesn't care. The only annoying part for me as a Mac binary maintainer is that it means Apple has abandoned the only branch that supported Fortran back-end, so in the future we will not be able to provide native Fortran for Xcode. This has been known for a while and Apple's stance is that they don't care about Fortran, so in some (but not immediate) future we may be back to the mess of mixing compilers.
>>>>
>>>> Note that LLVM and clang don't really have any real benefits for the R users so far. Tests suggest that they make some parts slower and we could not measure any overall benefit (unlike let's say on arm), so people were not rushing to llvm/clang so far. Apple's move to llvm/clang is really based on a political decision, not a technical one. The only benefit I see so far is what Brian mentioned as well that some people will have to realize that gcc is not the standard and can test on other compilers to find their bugs.
>>>>
>>>> Cheers,
>>>> Simon
>>>
>>>
>>
>
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-SIG-Mac mailing list