I have a new iMac and I\'m trying to run code using the Rcpp library that has been working on both my old iMac and Macbook Pro without issue. I have tried everything I can\
A easier solution would be the following. You should soft link the llvm compiler, in the terminal type:
cd /usr/bin
sudo ln -fs clang llvm-gcc-4.2
sudo ln -fs clang++ llvm-g++-4.2
Note: This also works for mex in Matlab.
Quick guess:
You are running the pre-built R binary which Simon built / CRAN provides.
R stores its configuration options from its compile time, those influence its run-time.
Check via the file $R_HOME/etc/Makeconf
and look at CC and CXX.
As Romain suggested, override CC
and CXX
via a file ~/.R/Makevars
.
Try again.
Edit: I just confirmed with a colleague who has the exact same issue on a Mac OS X which
he just upgrades to XCode 5 -- one now needs to override CC
and CXX
as R was built with the previous version of XCode.
I'm not sure what you mean by "I downloaded a gcc compiler". You don't need to download your own gcc. You can use either the default or use clang++ by having something like this in your ~/.R/Makevars
file:
CC=clang
CXX=clang++
CXXFLAGS= -O3 -pedantic
What happens when you try devtools::has_devel
:
> require(devtools)
> has_devel()
'/Library/Frameworks/R.framework/Resources/bin/R' --vanilla CMD SHLIB foo.c
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include -fPIC -mtune=core2 -g -O2 -c foo.c -o foo.o
clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/usr/local/lib -L/usr/local/lib -o foo.so foo.o -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
[1] TRUE
or Rcpp::evalCpp
:
> require(Rcpp)
> evalCpp( "1+1")
[1] 2