[R-SIG-Mac] XCode / gcc / R compatibility issues on Yosemite with XCode 7 and on El Capitan

Simon Urbanek simon.urbanek at r-project.org
Tue Oct 13 15:36:06 CEST 2015


On Oct 12, 2015, at 4:22 PM, Jenny Brown <jennybrown8 at gmail.com> wrote:

> Thank you to both of you.  I believe my issue is solved by using the binary
> distribution of gfortran libraries, as it was dynamic linking that was
> causing me the most headache.  And that seems to solve that.
> 
> I still have to modify the etc/Makeconf file to use the right directory for
> -L and the right library name for gfortran .... it comes written as
> gfortran-4.8 in the Makeconf but that gives a not-found on my system.


It means you're not using the Fortran we use (as I said below) - see
http://r.research.att.com/libs/gfortran-4.8.2-darwin13.tar.bz2

Cheers,
Simon



>  I'm
> not entirely clear on when the Makeconf is initially written during a
> binary install of R.  But it does seem that I can adjust the lines related
> to fortran and get it to work for compiling my source packages.
> 
> Thanks!
> 
> 
> 
> 
> On Thu, Oct 8, 2015 at 1:33 AM, Prof Brian Ripley <ripley at stats.ox.ac.uk>
> wrote:
> 
>> On 08/10/2015 02:37, Simon Urbanek wrote:
>> 
>>> Jenny,
>>> 
>>> I suspect you may not have the correct information. The CRAN Mavericks
>>> binary of R is not built with gcc, it's actually build using Apple clang
>>> and we're neither using nor requiring homebrew, so most of what you are
>>> describing doesn't make sense to me. I have tested Xcode 7 with the
>>> gfortran-4.8 we supply and it works just fine on 10.11 (tested on Hmisc). I
>>> have only 10.6, 10.9 and 10.11 so I can't check 10.10, but I would
>>> certainly recommend building on 10.9 with Xcode 6 for compatibility (that's
>>> what we do for CRAN). If you don't care about binary compatibility then
>>> Xcode 7 on 10.11 is fine (FWIW Hmisc package compiled on 10.11 actually
>>> works for me on 10.9 so it could even be that you may get away with using
>>> 10.11 if you don't use system dependencies with higher versions).
>>> 
>> 
>> It also works for me on 10.10.  If the 'Command Line Tools OS X 10 for
>> Xcode 7' Apple package is installed on 10.10 (specifically file
>> http://adcdownload.apple.com/Developer_Tools/Command_Line_Tools_OS_X_10.10_for_Xcode_7/Command_Line_Tools_OS_X_10.10_for_Xcode_7.dmg),
>> it installs
>> 
>> % clang --version
>> Apple LLVM version 7.0.0 (clang-700.0.74)
>> Target: x86_64-apple-darwin14.5.0
>> 
>> hence targets OS X 10.10 aka Darwin 14.  My 10.10 machine does not have
>> Xcode installed, only the CLT: you do not need Xcode's SDKs to compile R
>> nor any CRAN package.  (You do need Xcode to compile R.app.)
>> 
>> For Fortran on Yosemite/El Capitan I use the gfortran 5.2 build at the
>> sites given in the current R-admin manual ('Other builds of gfortran are
>> available: see https://gcc.gnu.org/wiki/GFortranBinaries and
>> http://coudert.name/software.html').  My recollection is that the
>> 'gfortran-4.8 for Mavericks' on r.research.att.com does compile all but
>> one of the CRAN packages on Yosemite (SWATmodel which compiles executables
>> from Fortran code), in some cases with warnings.
>> 
>> Note that any recent(ish) build of gfortran will have dynamic libgfortran
>> and libquadmath libraries, and installations of most Fortran-using packages
>> will link to these.  So you either need to install those libraries on all
>> the machines or arrange for the packages you distribute to point to the
>> copies in the CRAN build (in R_HOME/lib) as is done for the CRAN binary
>> packages.  (I believe they are post-processed by
>> https://svn.r-project.org/R-dev-web/trunk/CRAN/QA/Simon/packages/1.fixr
>> .)  My recollection is that a very few packages also link to libgcc_s, also
>> in R_HOME/lib.
>> 
>> 
>> 
>> Cheers,
>>> Simon
>>> 
>>> 
>>> On Oct 7, 2015, at 10:47 AM, Jenny Brown <jennybrown8 at gmail.com> wrote:
>>>> 
>>>> I am maintaining R installations and packages for a large number of OS X
>>>> machines.  A recent change from Apple is making the R installation more
>>>> awkward, and I'm trying to determine the best path forward with minimal
>>>> maintenance headaches.
>>>> 
>>>> 
>>>> Recently, XCode 7's release on Yosemite 10.10 broke compilation of "brew
>>>> install --with-fortran gcc48" which is a pre-requisite for compiling
>>>> third
>>>> party R packages that use fortran.  (XCode 7 eliminates the 10.9 and
>>>> 10.10
>>>> SDKs and only provides 10.11 which is El Capitan's... so even though
>>>> XCode
>>>> 7 installs on Yosemite, it can not build for Yosemite, which causes gcc
>>>> trouble.  Lots of opensource devs are commenting on this on various
>>>> projects.)
>>>> 
>>>> It appears that the binary installs of R for OS X (3.1 through 3.2.2)
>>>> were
>>>> all built against gcc 4.8.  I've discovered that gcc 5.2 builds properly
>>>> on
>>>> Yosemite, even with XCode 7, and R can be compiled with gcc 5.2.
>>>> 
>>>> However, even the latest R (3.2.2) on cran.rstudio.com appears to be
>>>> built
>>>> by default with gcc 4.8 -- are there plans to move to gcc 5.2?
>>>> Presumably
>>>> the breakage I'm seeing where gcc 4.8 can't use the xcode 7 10.11 SDK
>>>> would
>>>> also occur on El Capitan, so gcc 5.2 would be a necessary upgrade there
>>>> too.
>>>> 
>>>> Right now my choices for getting R to work with my third-party fortran
>>>> packages appear to be: manually downgrade xcode to 6.4 for Yosemite; or,
>>>> maintain my own compilation of R against gcc 5.2, for each of Yosemite
>>>> and
>>>> El Capitan.  Both have their downsides, and I hope to be able to return
>>>> to
>>>> the normal public binary R distribution sooner rather than later.
>>>> 
>>>> What's on the roadmap for upcoming upgrades and compatibility?  Thanks.
>>>> 
>>>>        [[alternative HTML version deleted]]
>>>> 
>>>> _______________________________________________
>>>> R-SIG-Mac mailing list
>>>> R-SIG-Mac at r-project.org
>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>>> 
>>>> 
>>> _______________________________________________
>>> 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
>> Emeritus Professor of Applied Statistics, University of Oxford
>> 1 South Parks Road, Oxford OX1 3TG, UK
>> 
>> 
>> _______________________________________________
>> R-SIG-Mac mailing list
>> R-SIG-Mac at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>> 
> 
> 	[[alternative HTML version deleted]]
> 
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
> 



More information about the R-SIG-Mac mailing list