[Rcpp-devel] R very basic compilation error
Bharath Govindarajan
bharath.quant at gmail.com
Thu Feb 14 08:15:54 CET 2013
Hi,
At the outset I would like to thank the developers of rcpp for this
wonderful tool. My question
is elementary but I am posting it here only because on stack exchange I see
Dirk suggesting that
this is a better place to get replies.
Thanks again
Bharath
Places I searched so far :
-------------------------------------
google , stack exchange :
" rcpp compilation error __attribute__ "
" rcpp Reference.h:25 error"
" rcpp asm error"
> version
_
platform x86_64-unknown-linux-gnu
arch x86_64
os linux-gnu
system x86_64, linux-gnu
status
major 2
minor 15.1
year 2012
month 06
day 22
svn rev 59600
language R
version.string R version 2.15.1 (2012-06-22)
nickname Roasted Marshmallows
Description of problem:
--------------------------------
I tried a very simple example from Hadley Wickham's website and it worked
https://github.com/hadley/devtools/wiki/Rcpp
cppFunction('
double sumC(NumericVector x) {
int n = x.size();
double total = 0;
for(int i = 0; i < n; ++i) {
total += x[i];
}
return total;
}
')
Then I try an example written in a c source file from
http://dirk.eddelbuettel.com/blog/2012/11/14/
and source it and get compilation errors
test1.c
------
#include <Rcpp.h>
// [[Rcpp::export]]
Rcpp::DataFrame mypnorm(Rcpp::NumericVector x) {
int n = x.size();
Rcpp::NumericVector y1(n), y2(n), y3(n);
for (int i=0; i<n; i++) {
// the way we used to do this
y1[i] = ::Rf_pnorm5(x[i], 0.0, 1.0, 1, 0);
// the way we can do it now
y2[i] = R::pnorm(x[i], 0.0, 1.0, 1, 0);
}
// or using Rcpp sugar in one go
y3 = Rcpp::pnorm(x);
return Rcpp::DataFrame::create(Rcpp::Named("Rold") = y1,
Rcpp::Named("Rnew") = y2,
Rcpp::Named("sugar") = y3);
}
commands:
---------
sourceCpp(LIB.PATH %+% "test1.c",verbose=TRUE)
Error:
------
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp/internal/wrap_end.h:25:
error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Rcpp'
In file included from
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp/api/meat/meat.h:25,
from
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp.h:81,
from test1.c:1:
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp/api/meat/RObject.h:25:
error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Rcpp'
In file included from
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp/api/meat/meat.h:26,
from
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp.h:81,
from test1.c:1:
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp/api/meat/Environment.h:25:
error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Rcpp'
In file included from
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp/api/meat/meat.h:27,
from
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp.h:81,
from test1.c:1:
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp/api/meat/DottedPair.h:25:
error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Rcpp'
In file included from
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp/api/meat/meat.h:28,
from
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp.h:81,
from test1.c:1:
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp/api/meat/Vector.h:25:
error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Rcpp'
In file included from
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp/api/meat/meat.h:29,
from
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp.h:81,
from test1.c:1:
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp/api/meat/Matrix.h:25:
error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Rcpp'
In file included from
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp/api/meat/meat.h:30,
from
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp.h:81,
from test1.c:1:
R/x86_64-unknown-linux-gnu-library/2.15/Rcpp/include/Rcpp/api/meat/Reference.h:25:
error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Rcpp'
test1.c:4: error: expected '=', ',', ';', 'asm' or '__attribute__' before
':' token
test1.c:28: error: expected identifier or '(' before string constant
make: *** [test1.o] Error 1
Error in sourceCpp(LIB.PATH %+% "test1.c", verbose = TRUE) :
Error 1 occurred building shared library.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20130214/9a6b13af/attachment.html>
More information about the Rcpp-devel
mailing list