[R-SIG-Mac] tools for compiling R from source on Leopard
simon.urbanek at r-project.org
Sun Mar 2 17:04:53 CET 2008
the instructions you are referring to (gcc-4.2-based) are for
experimental R builds using cutting-edge unreleased tools, so you're
pretty much on your own there. So let me first address "offical" way
as documented in the FAQ:
The gfortran compiler the FAQ refers to is on CRAN (http://cran.r-project.org/bin/macosx/tools
) - it is also the first download on the R for Mac Tools page. That is
all you need (Xcode + the above Fortran) and both the FAQ and the
tools page specifically say so.
Now to your quest for experimental, unsupported tools (see also
comments inline below). The only reason to use gcc-4.2 is if you want
to play with OpenMP. Note that the gcc-4.2 is known to have bugs, so
tread with care.
> Hi. This week I received my very first Mac (I was previously a
> Linux user), and I am now trying to compile R from source. I am
> running Mac OS 10.5.2, and I have downloaded and installed Xcode
> 3.0. Following instructions on the R for Mac OS FAQ page I see
> that I need to install gfortran 4.2.1. However, Xcode only comes
> with gcc 4.0.1, and I understand that the versions need to be the
That is not true (and I'm not sure why concluded it). Only the major
version (3.x vs 4.x) has to match (as the FAQ tells you), so gcc 4.0.1
+ gfortran 4.2.1 are just fine.
> The R for Mac tools site mentions that the Apple version for gcc
> 4.2.1 is available from ADC, but I just cannot find it anywhere
Login, click on Downloads -> Developer Tools -> GCC 4.2 Developer
If it's not there, please let me know.
> (I Googled, searched, etc, with no luck--can someone please point me
> in the right direction?). So, I ran the provided
> gcc42build5531.pkg installation file. The installer ran with no
> errors, but it doesn't seem to install anywhere
> (I even created a test folder to install to, but after the
> installation, that folder was empty).
Which is expected - try enabling the installer log (Window->Installer
Log) if you're interested in the details. If you're more comfortable
with command-line tools and want to learn more about packages on OS X,
have a look at "man pkgutil" and "man installer". For old-style
packages (which are bundles) see also "man pax" and "man lsbom".
> gcc --version still indicates that the version is 4.0.1.
Yes, gcc is a link to gcc-4.0, not to gcc-4.2.
> The gfortran-42.pkg file installed correctly.
> I know this sounds more like a Mac OS problem than an R problem,
There is no problem, really ;).
> but since I am using tools (and following instructions)
> designed specifically for R, I thought I'd ask for help here. I
> suppose that all I really need is to be able to effectively install
> either gcc 4.2.1 (since I have the R-approved gfortran 4.2.1
> installed) or an R-approved gfortran 4.0.1 (since I have gcc
No, that is wrong (see above). If you followed the instructions you'd
use gcc 4.0.1 from Apple and gfortran 4.2.1 from CRAN. This is how the
release is built.
FWIW: Although it is a nice exercise, I'm not quite sure why you want
to build R from sources unless you want to modify it - note that your
result is likely to be incompatible with the packages we create
(unless you build the full multi-arch universal build).
One more side-note on the tools: now that you have installed several
tools in your system (gcc 4.0, 4.2, two different gfortrans etc.), you
should be aware that although you can use any combination of them, the
library lookup is common to all, so unless you de-install the gfortran
from /usr/local/bin (the CRAN verison) [via /usr/local/bin/gfortran-
uninstall], even the binaries compiled with the Leopard gfotran (/usr/
bin/gfortran-4.2] will be linked to the /usr/local/lib/libgfortran
dynamic library, because it has higher precedence than the static
library that the system gfortran supplies. This is not really a
problem as long as you are aware of it, but it that reduces the
portability of your binaries a bit (you'll have to ship the gfortran
shared library with your binaries if they use Fortran). If you don't
understand what I'm saying, don't worry too much :) it doesn't affect
anything as long as you stay on the same machine.
More information about the R-SIG-Mac