Sorry to spam, but I just wanted to post this follow up just in case someone asks google about this later.

I found that I can get the R's default settings for the ones I needed to override (CC, CPP, etc.) by typing `R CMD config SETTING` at the command line. So, for instance, to find out what R had config'd for CPP:

$ R CMD config CPP
gcc -arch i386 -std=gnu99 -E

So I used that to redefine my Makevars, only now I have an absolute to gcc/g++ so that I can get the ones from Apple, and not the one in my / usr/local/bin. So, the contents of my Makevars file is now:

CC=/usr/bin/gcc -arch i386 -std=gnu99
CPP=/usr/bin/gcc -arch i386 -std=gnu99 -E
CXX=/usr/bin/g++ -arch i386
CXXCPP=/usr/bin/g++ -arch i386 -E
OBJC=/usr/bin/gcc -arch i386 -std=gnu99

-steve

On May 5, 2009, at 3:03 PM, Steve Lianoglou wrote:

Thanks Duncan & Kasper, I've been able to squeeze out of my problem ...

Duncan:

You can pass configure args with the configure.args parameter to install.packages. I'm not sure how many you need to set, but you'll likely need to set CC, CPP, CXX, F77, FC, OBJC, and maybe some of the associated flags. You can see the list using "R CMD config" in the console.

The R CMD config was the trick. I actually put set those flags in my ~/.R/Makevars-PLATFORM file, as it seems the build step is picking these up so I don't have to pass them into the configure.args param. For the record, since I'm on a first generation MBP, the name of that file is "Makevars-i386-apple- darwin8.11.1", and it looks like:

CC=/usr/bin/gcc
CPP=/usr/bin/cpp
CXX=/usr/bin/g++
CXXCPP=/usr/bin/cpp
OBJC=/usr/bin/gcc

Kasper:

You will want to recompile R with the new compiler. Then, whenever you compile a package, it will use the same compiler as R was compiled with.

Thanks for the preemptive warning. On the computer where I'm having this problem, R is actually installed from the official cran installer, so I just needed to set it to use the apple gcc by default.

I have to assume that this R was also built w/ Apple's gcc, so perhaps R doesn't use the same compiler by default, as you suggest? I'm not sure.

Mixing compilers might be possible using the hints from Duncan, but I am pretty sure it is discouraged.

In the past Simon has discouraged use of the HPC compilers. I don't remember the reasons, but I respect the source of the information :) He knows way more about mac compilers than I do. Of course, this was a while back and things might have changed.

Yeah, I'd trust that source of information as well :-)

This kind of leads me into another related question, then. So, I actually d/l'd the HPC compiler so I can compile w/ -fopenmp (to use OpenMP for some easy parallelization). Does this mean that I shouldn't do that w/ a vanilla R install and perhaps recompile R from source w/ the HPC compiler? And if Simon doesn't like using the HPC compiler, then should we stay away from this in general?

Thanks,

-steve

--
Steve Lianoglou
Graduate Student: Physiology, Biophysics and Systems Biology
Weill Medical College of Cornell University

http://cbio.mskcc.org/~lianos




--
Steve Lianoglou
Graduate Student: Physiology, Biophysics and Systems Biology
Weill Medical College of Cornell University

http://cbio.mskcc.org/~lianos

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

Reply via email to