And the error he gets is: Error in compileCode(f, code, language = language, verbose = verbose) : Compilation ERROR, function(s)/method(s) not created! file786264e8.cpp: In function ‘SEXPREC* file786264e8()’: file786264e8.cpp:33: 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/plus.h:451: note: candidate 1: Rcpp::sugar::Plus_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>] file786264e8.cpp:33: note: candidate 2: operator+(SEXPREC*, int) <built-in> make: *** [file786264e8.o] Error 1 In addition: Warning message: running command '/Library/Frameworks/R.framework/Resources/bin/R CMD SHLIB file786264e8.cpp 2> file786264e8.cpp.err.txt' had status 1
2011/5/16 Sacha Epskamp <sacha.epsk...@gmail.com> > Hi, > > Here is a small example: > > > library("Rcpp") > library("inline") > > fun <-cxxfunction(, > ' > Environment e = Environment::global_env(); > NumericVector bar = e["foo"]; > bar = bar + 1; > return wrap(bar); > ',plugin="Rcpp") > > foo <- 1:10 > > fun() > > This function works fine on my windows netbook, but does not work on my > supervisors mac. His computers specs are: > > ++++++++++ > > platform i386-apple-darwin9.8.0 > arch i386 > os darwin9.8.0 > system i386, darwin9.8.0 > status > major 2 > minor 13.0 > year 2011 > month 04 > day 13 > svn rev 55427 > language R > version.string R version 2.13.0 (2011-04-13) > > > ++++++++++++++ > > packageDescription('Rcpp') > Package: Rcpp > Title: Seamless R and C++ Integration > Version: 0.9.4 > > > +++++++++++++++ > > packageDescription('Inline') > Package: inline > Version: 0.3.8 > Date: 2010-12-07 > ++++++++++++++++ > > > > system("g++ --version") > > i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3) > Copyright (C) 2007 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > > > Best, > Sacha > > 2011/5/16 Romain Francois <rom...@r-enthusiasts.com> > >> Hello, >> >> Let's try to narrow this down. >> >> Please provide a small and reproducible example. >> >> What is the version of the compiler. This is what I have on my iMac: >> $ g++ --version >> i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3) >> Copyright (C) 2007 Free Software Foundation, Inc. >> This is free software; see the source for copying conditions. There is NO >> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR >> PURPOSE. >> >> What version of Rcpp are you using. What version of R. >> >> Romain >> >> Le 16/05/11 12:06, Sacha Epskamp a écrit : >> >> 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 >>> >> >> -- >> Romain Francois >> Professional R Enthusiast >> +33(0) 6 28 91 30 30 >> http://romainfrancois.blog.free.fr >> http://romain-francois.com >> |- http://bit.ly/hdKhCy : Rcpp article in JSS >> |- http://bit.ly/elZJRJ : Montpellier Comedie Club - Avril 2011 >> `- http://bit.ly/fhqbRC : Rcpp workshop in Chicago on April 28th >> >> >> _______________________________________________ >> Rcpp-devel mailing list >> Rcpp-devel@lists.r-forge.r-project.org >> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel >> > >
_______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel