Small update on this question. The issue appears when exporting the Rcpp function and the error messages are caused by RcppExports.cpp which is generated when running Rcpp::compileAttributes()
#include <Rcpp.h> using namespace Rcpp; // [[Rcpp::plugins(cpp11)]] // [[Rcpp::export]] CharacterVector na_locf(CharacterVector x) { return x; } This is the output from Rcpp::compileAttributes() #include <Rcpp.h> using namespace Rcpp; // na_locf CharacterVector na_locf(CharacterVector x); RcppExport SEXP _ttt_na_locf(SEXP xSEXP) { BEGIN_RCPP Rcpp::RObject rcpp_result_gen; Rcpp::RNGScope rcpp_rngScope_gen; Rcpp::traits::input_parameter< CharacterVector >::type x(xSEXP); rcpp_result_gen = Rcpp::wrap(na_locf(x)); return rcpp_result_gen; END_RCPP } static const R_CallMethodDef CallEntries[] = { {"_ttt_na_locf", (DL_FUNC) &_ttt_na_locf, 1}, {NULL, NULL, 0} }; RcppExport void R_init_ttt(DllInfo *dll) { R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); R_useDynamicSymbols(dll, FALSE); } My excuses for this update. Jan Jan Wijffels Statistician www.bnosac.be | +32 486 611708 On 6 September 2017 at 15:03, Jan Wijffels <jwijff...@bnosac.be> wrote: > Hello, > > I'm trying to fix the installation issue I have with the package udpipe: > https://github.com/bnosac/udpipe but I'm getting issues on Solaris giving > messages like this: > > /opt/csw/bin/g++ -std=gnu++11 -I/opt/R/R-3.4.1-patched-gcc/lib/R/include > -DNDEBUG -I"/export/home/XyG0aYI/R/Rcpp/include" -I/opt/csw/include > -I/usr/local/include -fPIC -O2 -c RcppExports.cpp -o RcppExports.o > In file included from /opt/csw/include/c++/5.2.0/cmath:44:0, > from > /export/home/XyG0aYI/R/Rcpp/include/Rcpp/platform/compiler.h:100, > from /export/home/XyG0aYI/R/Rcpp/include/Rcpp/r/headers.h:48, > from /export/home/XyG0aYI/R/Rcpp/include/RcppCommon.h:29, > from /export/home/XyG0aYI/R/Rcpp/include/Rcpp.h:27, > from RcppExports.cpp:4: > /usr/include/math.h:45:12: error: ‘std::float_t’ has not been declared > using std::float_t; > ^ > /usr/include/math.h:46:12: error: ‘std::double_t’ has not been declared > using std::double_t; > > This type of error seems to be something that has been mentioned in > https://journal.r-project.org/archive/2011-2/RJournal_2011-2_Plummer.pdf > but still can't seem to find the solution. > > To make this problem as tiny as possible, I've made a reproducible > example. Let's say I have an R package with the following inside the src > folder > > #include <Rcpp.h> > using namespace Rcpp; > > // [[Rcpp::plugins(cpp11)]] > CharacterVector na_locf(CharacterVector x) { > return x; > } > > If the DESCRIPTION file mentions the following: > > Imports: Rcpp (>= 0.12.12) > LinkingTo: Rcpp > SystemRequirements: C++11 > > Or if there is CXX_STD=CXX11 in the Makevars file, I get the errors like > this when building on Solaris (see log on https://builder.r-hub.io/ > status/original/ttt_0.1.0.tar.gz-26c279a1b07047fea8ded89b4e07c6ad), using > rhub::check(platform = "solaris-x86-patched"), while on Ubuntu this is > working fine. > > /opt/csw/bin/g++ -std=gnu++11 -I/opt/R/R-3.4.1-patched-gcc/lib/R/include > -DNDEBUG -I"/export/home/XyG0aYI/R/Rcpp/include" -I/opt/csw/include > -I/usr/local/include -fPIC -O2 -c RcppExports.cpp -o RcppExports.o > In file included from /opt/csw/include/c++/5.2.0/cmath:44:0, > from > /export/home/XyG0aYI/R/Rcpp/include/Rcpp/platform/compiler.h:100, > from /export/home/XyG0aYI/R/Rcpp/include/Rcpp/r/headers.h:48, > from /export/home/XyG0aYI/R/Rcpp/include/RcppCommon.h:29, > from /export/home/XyG0aYI/R/Rcpp/include/Rcpp.h:27, > from RcppExports.cpp:4: > /usr/include/math.h:45:12: error: ‘std::float_t’ has not been declared > using std::float_t; > > I > f I do not add SystemRequirements: C++11 and remove the Makevars file, > this works fine on Solaris. I need however C++11 as I need it in the udpipe > R package for building udpipe.cpp but can't add > to that udpipe.cpp file the following types of statements due to conflicts > on the use of the Free macro. > #include <Rcpp.h> > using namespace Rcpp; > // [[Rcpp::plugins(cpp11)]] > > Is there anyone having similar problems that can give an indication on how > to solve this Solaris build issue? > > many thanks, > Jan > > > > Jan Wijffels > Statistician > www.bnosac.be | +32 486 611708 >
_______________________________________________ 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