On 21 February 2012 at 23:39, Søren Højsgaard wrote: | Dear list, | | I get what I believe to be similar errors on R.2.14.1, but things work on R-devel; please see transcript below.
Hm. It could be an issue with Rtools. R-devel NEWS (derived from the NEWS file in SVN) had this too the other day: 2.14.2 PACKAGE INSTALLATION (Windows) The preferred toolchain has changed since the one used for R 2.12.0 to 2.14.1: see the‘R Installation and Administration manual’. Compiled code (except DLLs) may be incompatible with previous toolchains (and compiled C++ code almost certainly will be: users of ‘Rcpp’ take care). So make sure you don't mix compilers -- but I think this refers to Rtools 2.15. For what it is worth, I just re-ran things on a virtual machine with plain old R 2.14.1 and (I think) Rtools 2.14 and it all worked. Dirk | Regards | Søren | | | | ==== R 2.14.1 ==== | | > library(Rcpp) | > library(inline) | > | > src <- ' | + Rcpp::NumericMatrix Am(A); | + int nrows = Am.nrow(); | + int ncolumns = Am.ncol(); | + for (int i = 0; i < ncolumns; i++) { | + for (int j = 1; j < nrows; j++) { | + Am(j,i) = Am(j,i) + Am(j-1,i); | + } | + } | + return Am; | + ' | > fun <- cxxfunction(signature(A = "numeric"), body = src, plugin="Rcpp") | c:/programs/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../lib/libstdc++.a(stdexcept.o):(.text$_ZNSt11range_errorD0Ev+0x0): multiple definition of `std::range_error::~range_error()' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(RcppCommon.o):RcppCommon.cpp:(.text$_ZNSt11range_errorD0Ev[std::range_error::~range_error()]+0x0): first defined here | c:/programs/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../lib/libstdc++.a(stdexcept.o):(.text$_ZNSt11range_errorD2Ev+0x0): multiple definition of `std::range_error::~range_error()' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(RcppCommon.o):RcppCommon.cpp:(.text$_ZNSt11range_errorD1Ev[std::range_error::~range_error()]+0x0): first defined here | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(exceptions.o):exceptions.cpp:(.text+0x392): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(exceptions.o):exceptions.cpp:(.text+0x44e): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(exceptions.o):exceptions.cpp:(.text+0x519): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(exceptions.o):exceptions.cpp:(.text+0x6f1): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(exceptions.o):exceptions.cpp:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(RcppCommon.o):RcppCommon.cpp:(.text+0x72b): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(RcppCommon.o):RcppCommon.cpp:(.text+0x777): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(RcppCommon.o):RcppCommon.cpp:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(RObject.o):RObject.cpp:(.text+0x409): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(RObject.o):RObject.cpp:(.text+0x7c0): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(RObject.o):RObject.cpp:(.text$_ZNSt6vectorISsSaISsEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSsS1_EERKSs[std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)]+0x361): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(RObject.o):RObject.cpp:(.text$_ZNSt6vectorISsSaISsEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSsS1_EERKSs[std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)]+0x370): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(RObject.o):RObject.cpp:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(r_cast.o):r_cast.cpp:(.text+0x4b9): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(r_cast.o):r_cast.cpp:(.text$_ZN4Rcpp14not_compatibleC1ERKSs[Rcpp::not_compatible::not_compatible(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)]+0x43): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(r_cast.o):r_cast.cpp:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(debugging.o):debugging.cpp:(.text+0x6b4): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(debugging.o):debugging.cpp:(.text+0x6d7): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(debugging.o):debugging.cpp:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(Evaluator.o):Evaluator.cpp:(.text+0x21f): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(Evaluator.o):Evaluator.cpp:(.text+0x23c): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(Evaluator.o):Evaluator.cpp:(.text+0x2d3): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(Evaluator.o):Evaluator.cpp:(.text+0x35a): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(Evaluator.o):Evaluator.cpp:(.text$_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_[std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)]+0x53): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(Evaluator.o):Evaluator.cpp:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(Environment.o):Environment.cpp:(.text+0x147): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(Environment.o):Environment.cpp:(.text+0x204): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(Environment.o):Environment.cpp:(.text+0x693): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(Environment.o):Environment.cpp:(.text+0x6dc): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(Environment.o):Environment.cpp:(.text+0xd4f): undefined reference to `_Unwind_Resume' | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(Environment.o):Environment.cpp:(.text+0xe31): more undefined references to `_Unwind_Resume' follow | C:/programs/R/current/library/Rcpp/lib/i386/libRcpp.a(Environment.o):Environment.cpp:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' | collect2: ld returned 1 exit status | | | > sessionInfo() | R version 2.14.1 Patched (2012-01-27 r58216) | Platform: i386-pc-mingw32/i386 (32-bit) | | locale: | [1] LC_COLLATE=Danish_Denmark.1252 LC_CTYPE=Danish_Denmark.1252 LC_MONETARY=Danish_Denmark.1252 LC_NUMERIC=C LC_TIME=Danish_Denmark.1252 | | attached base packages: | [1] stats graphics grDevices utils datasets methods base | | other attached packages: | [1] inline_0.3.8 Rcpp_0.9.10 SHDtools_1.0 | | loaded via a namespace (and not attached): | [1] tools_2.14.1 | | ==== R devel ==== | | | > library(Rcpp) | > library(inline) | > | > src <- ' | + Rcpp::NumericMatrix Am(A); | + int nrows = Am.nrow(); | + int ncolumns = Am.ncol(); | + for (int i = 0; i < ncolumns; i++) { | + for (int j = 1; j < nrows; j++) { | + Am(j,i) = Am(j,i) + Am(j-1,i); | + } | + } | + return Am; | + ' | > fun <- cxxfunction(signature(A = "numeric"), body = src, plugin="Rcpp") | > sessionInfo() | R Under development (unstable) (2012-02-16 r58364) | Platform: i386-pc-mingw32/i386 (32-bit) | | locale: | [1] LC_COLLATE=Danish_Denmark.1252 LC_CTYPE=Danish_Denmark.1252 LC_MONETARY=Danish_Denmark.1252 LC_NUMERIC=C LC_TIME=Danish_Denmark.1252 | | attached base packages: | [1] stats graphics grDevices utils datasets methods base | | other attached packages: | [1] inline_0.3.8 Rcpp_0.9.10 SHDtools_1.0 | | loaded via a namespace (and not attached): | [1] tools_2.15.0 | | | | | -----Oprindelig meddelelse----- | Fra: rcpp-devel-boun...@r-forge.wu-wien.ac.at [mailto:rcpp-devel-boun...@r-forge.wu-wien.ac.at] På vegne af Dirk Eddelbuettel | Sendt: 21. februar 2012 22:56 | Til: Dirk Eddelbuettel | Cc: rcpp-devel@lists.r-forge.r-project.org | Emne: Re: [Rcpp-devel] package install problem | | | On 21 February 2012 at 12:55, Dirk Eddelbuettel wrote: | | For what it is worth, a package of mine just built fine on win-builder | | in for both r-devel and r-release. I use this as src/Makevars.win | | David reported (off-list) that win-builder and another machine also worked for him. | | So far, this looks like it is a local issue, possibly a mix-up between different Rtools versions, rather than something wrong with Rcpp 0.9.10. | | Dirk | | -- | "Outside of a dog, a book is a man's best friend. Inside of a dog, it is too dark to read." -- Groucho Marx _______________________________________________ | 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 -- "Outside of a dog, a book is a man's best friend. Inside of a dog, it is too dark to read." -- Groucho Marx _______________________________________________ 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