Hi list, sorry, it's me again.
I am having issues to build mzR on Mac (to which I have no access) after the upgrade to Rcpp 0.11.0 on both http://bioconductor.org/checkResults/2.13/bioc-LATEST/mzR/perceval-buildsrc.html http://bioconductor.org/checkResults/2.14/bioc-LATEST/mzR/petty-buildsrc.html with the same error message on both machines. Other builds are fine. Those C++ error messages always scare the s**t out of me, But then, the 100s of lines when a Java program throws an exception are not better ... The following is what I understood. The problem occurs in the three copy constructors generated for the RcppRamp object in RcppRampModule.cpp[1] Rcpp::S4_field<RcppRamp>::S4_field(const Rcpp::S4_field<RcppRamp>&), and similar for S4_CppOverloadedMethods(const Rcpp::S4_CppOverloadedMethods<RcppRamp>&) and S4_CppConstructor(const Rcpp::S4_CppConstructor<RcppRamp>&). In all cases, there is a call to Reference_Impl<Rcpp::PreserveStorage>::Reference_Impl() for which the compiler can't find a matching function. What it offers are implementations like Reference_Impl(const std::string&). The difference is that the requested Reference_Impl() comes with no arguments (?!). The call is made from Module.h:331 in the macro RCPP_CTOR_ASSIGN(S4_field) (Would it help to define RCPP_DEBUG for some additional output ?) Indeed, all three "no matching function"s seem to come from this macro: grep RCPP_CTOR_ASSIGN ./include/Rcpp/* ./include/Rcpp/Module.h: RCPP_CTOR_ASSIGN(S4_CppConstructor) ./include/Rcpp/Module.h: RCPP_CTOR_ASSIGN(S4_CppOverloadedMethods) ./include/Rcpp/Module.h: RCPP_CTOR_ASSIGN(S4_field) But unfortunately this is where I get lost. Since it works on other architectures, <wildGuess> it could be that on Mac "something" is #defined to be an empty string, so that Reference_Impl() is called with an empty argument. </wildGuess> <disclaimer> Of course, my last ventures into C++-land is more than a decade ago, so I could be waay off. </disclaimer> Any ideas here ? Yours, Steffen [1] https://hedgehog.fhcrc.org/bioconductor/trunk/madman/Rpacks/mzR/src/RcppRampModule.cpp ----------------------------------------------- llvm-g++-4.2 -arch x86_64 -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -I/usr/local/include -I"/Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include" -fPIC -mtune=core2 -g -O2 -c RcppRampModule.cpp -o RcppRampModule.o /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/Module.h: In copy constructor ‘Rcpp::S4_field<Class>::S4_field(const Rcpp::S4_field<Class>&) [with Class = RcppRamp]’: /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/module/class.h:416: instantiated from ‘Rcpp::List Rcpp::class_<Class>::fields(const Rcpp::XPtr<Rcpp::class_Base, Rcpp::PreserveStorage, void Rcpp::standard_delete_finalizer [with T = Rcpp::class_Base]>&) [with Class = RcppRamp]’ RcppRampModule.cpp:22: instantiated from here /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/Module.h:331: error: no matching function for call to ‘Rcpp::Reference_Impl<Rcpp::PreserveStorage>::Reference_Impl()’ /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/Reference.h:56: note: candidates are: Rcpp::Reference_Impl<StoragePolicy>::Reference_Impl(const std::string&) [with StoragePolicy = Rcpp::PreserveStorage] /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/Reference.h:41: note: Rcpp::Reference_Impl<StoragePolicy>::Reference_Impl(SEXPREC*) [with StoragePolicy = Rcpp::PreserveStorage] /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/Reference.h:34: note: Rcpp::Reference_Impl<StoragePolicy>::Reference_Impl(const Rcpp::Reference_Impl<StoragePolicy>&) [with StoragePolicy = Rcpp::PreserveStorage] /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/Module.h: In copy constructor ‘Rcpp::S4_CppOverloadedMethods<Class>::S4_CppOverloadedMethods(const Rcpp::S4_CppOverloadedMethods<Class>&) [with Class = RcppRamp]’: /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/module/class.h:435: instantiated from ‘Rcpp::List Rcpp::class_<Class>::getMethods(const Rcpp::XPtr<Rcpp::class_Base, Rcpp::PreserveStorage, void Rcpp::standard_delete_finalizer [with T = Rcpp::class_Base]>&, std::string&) [with Class = RcppRamp]’ RcppRampModule.cpp:22: instantiated from here /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/Module.h:256: error: no matching function for call to ‘Rcpp::Reference_Impl<Rcpp::PreserveStorage>::Reference_Impl()’ /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/Reference.h:56: note: candidates are: Rcpp::Reference_Impl<StoragePolicy>::Reference_Impl(const std::string&) [with StoragePolicy = Rcpp::PreserveStorage] /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/Reference.h:41: note: Rcpp::Reference_Impl<StoragePolicy>::Reference_Impl(SEXPREC*) [with StoragePolicy = Rcpp::PreserveStorage] /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/Reference.h:34: note: Rcpp::Reference_Impl<StoragePolicy>::Reference_Impl(const Rcpp::Reference_Impl<StoragePolicy>&) [with StoragePolicy = Rcpp::PreserveStorage] /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/Module.h: In copy constructor ‘Rcpp::S4_CppConstructor<Class>::S4_CppConstructor(const Rcpp::S4_CppConstructor<Class>&) [with Class = RcppRamp]’: /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/module/class.h:446: instantiated from ‘Rcpp::List Rcpp::class_<Class>::getConstructors(const Rcpp::XPtr<Rcpp::class_Base, Rcpp::PreserveStorage, void Rcpp::standard_delete_finalizer [with T = Rcpp::class_Base]>&, std::string&) [with Class = RcppRamp]’ RcppRampModule.cpp:22: instantiated from here /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/Module.h:218: error: no matching function for call to ‘Rcpp::Reference_Impl<Rcpp::PreserveStorage>::Reference_Impl()’ /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/Reference.h:56: note: candidates are: Rcpp::Reference_Impl<StoragePolicy>::Reference_Impl(const std::string&) [with StoragePolicy = Rcpp::PreserveStorage] /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/Reference.h:41: note: Rcpp::Reference_Impl<StoragePolicy>::Reference_Impl(SEXPREC*) [with StoragePolicy = Rcpp::PreserveStorage] /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/Reference.h:34: note: Rcpp::Reference_Impl<StoragePolicy>::Reference_Impl(const Rcpp::Reference_Impl<StoragePolicy>&) [with StoragePolicy = Rcpp::PreserveStorage] -- IPB Halle AG Massenspektrometrie & Bioinformatik Dr. Steffen Neumann http://www.IPB-Halle.DE Weinberg 3 http://msbi.bic-gh.de 06120 Halle Tel. +49 (0) 345 5582 - 1470 +49 (0) 345 5582 - 0 sneumann(at)IPB-Halle.DE Fax. +49 (0) 345 5582 - 1409 _______________________________________________ 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