[Rcpp-devel] Function does not compile on Mac OSX
Sacha Epskamp
sacha.epskamp at gmail.com
Mon May 16 16:13:13 CEST 2011
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 <romain at 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 at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20110516/ac72cd4f/attachment.htm>
More information about the Rcpp-devel
mailing list