[Rcpp-devel] Function does not compile on Mac OSX

Sacha Epskamp sacha.epskamp at gmail.com
Mon May 16 12:06:04 CEST 2011


Dear mailing list,

For a project I am working on speeding up a simulation in R by translating
it to C++ (using inline and Rcpp). It is done and works fine on my windows 7
64bit R, but for some reason it is not working on my supervisors latest mac
OSX (not sure of the version. should be up to date).

The strange thing is that it did work at first. It compiled and ran as
expected. We then proceeded by changing a few things, resulting in the
function not compiling anymore. When we then used exactly the same script as
before it suddenly did not work anymore. I get these errors:


Error in compileCode(f, code, language = language, verbose = verbose) :
  Compilation ERROR, function(s)/method(s) not created! file345af547.cpp: In
function ‘SEXPREC* file345af547(SEXPREC*, SEXPREC*, SEXPREC*, SEXPREC*,
SEXPREC*, SEXPREC*)’:
file345af547.cpp:220: error: ISO C++ says that these are ambiguous, even
though the worst conversion for the first is better than the worst
conversion for the second:
/Library/Frameworks/R.framework/Versions/2.13/Resources/library/Rcpp/include/Rcpp/sugar/operators/minus.h:421:
note: candidate 1: Rcpp::sugar::Minus_Vector_Primitive<RTYPE, NA, T>
operator-(const Rcpp::VectorBase<RTYPE, NA, VECTOR>&, typename
Rcpp::traits::storage_type<RTYPE>::type) [with int RTYPE = 14, bool NA =
true, T = Rcpp::Vector<14>]
file345af547.cpp:220: note: candidate 2: operator-(SEXPREC*, int) <built-in>
file345af547.cpp:646: error: ISO C++ says that these are ambiguous, even
though the worst conversion for the first is better than the worst
conversion for the second:
/Library/Frameworks/R.framework/Versions/2.13/Resources/librar
In addition: Warning message:
running command '/Library/Frameworks/R.framework/Resources/bin/R CMD SHLIB
file345af547.cpp 2> file345af547.cpp.err.txt' had status 1

With relevant lines:

 220 : Demoplayers = Demoplayers - 1;

 646 : leeftijd = leeftijd + 1;

Demoplayers and leeftijd are both NumericVectors. Does anyone know if there
is a common bug on MacOSX that for some reason makes the inline compiler not
work anymore? The cxxfunction example works fine though.

Best,
Sacha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20110516/e452a650/attachment.htm>


More information about the Rcpp-devel mailing list