[Rcpp-devel] Shared library error after update

Simon Zehnder szehnder at uni-bonn.de
Mon Mar 3 19:59:58 CET 2014


Hi Kevin,

the github repo is a good idea, though I have some dependencies on other C++ libraries that have to be installed first and that makes it unfavourable. 

However, I figured out where the source of the error seems to be: It is a header file of a C++ class that can be constructed from an Rcpp::S4 object. It looks like this:

#ifndef FINMIXDATA_H
#define FINMIXDATA_H

#include <RcppArmadillo.h>
#include <string>

class FinmixData {
	public:
		arma::mat y;
		arma::ivec S;
		arma::vec expos;
		arma::vec T;
	
		std::string dataType;
		unsigned int N;
		unsigned int r;
	
		/* constructor */ 
		FinmixData (const Rcpp::S4& classS4) :
                  y(Rcpp::as<arma::mat>((SEXP) classS4.slot("y"))),
                 S(Rcpp::as<arma::ivec>((SEXP) classS4.slot("S"))),
                 expos(Rcpp::as<arma::vec>((SEXP) classS4.slot("exp"))),
                 T(Rcpp::as<arma::vec>((SEXP) classS4.slot("T"))),
                 dataType(Rcpp::as<std::string>((SEXP) classS4.slot("type"))),
                 N(Rcpp::as<unsigned int>((SEXP) classS4.slot("N"))),
                 r(Rcpp::as<unsigned int>((SEXP) classS4.slot("r"))) {}		
               ~FinmixData () {}
};
#endif 

This worked before the update. It seems to me that I have to change the initialisation list …. I work on it. Any suggestions are welcome!

Best

Simon


On 03 Mar 2014, at 17:53, Kevin Ushey <kevinushey at gmail.com> wrote:

> Do you have a GitHub repository or some other means of sharing your
> package, so we can try testing it?
> 
> On Mon, Mar 3, 2014 at 6:12 AM, Dirk Eddelbuettel <edd at debian.org> wrote:
>> 
>> On 3 March 2014 at 14:38, Simon Zehnder wrote:
>> | Though I couldn't detect NEWS relevant for my package. I have rebuilt my package several times now and the error remains. I remember that there was once some news about Rcpp now being header only (also the Rcpp.package.skeleton function does not include a Makevars file in the src folder). Does that mean I delete the line
>> |
>> | PKG_LIBS = '$(R_HOME)/bin/Rscript -e "Rcpp:::LdFlags()"'
>> |
>> | from my Makevars file?
>> 
>> Yes you may.
>> 
>> | Is it obligatory?
>> 
>> No.
>> 
>> If it were mandatory to remove it we would have said so. It is now a null-op
>> 
>>   edd at max:~$ Rscript -e 'Rcpp:::LdFlags()'
>>   edd at max:~$
>> 
>> under the current version of Rcpp, and works as before under previous version
>> ensuring continuity.
>> 
>> Please construct a minimally reproducible example.  Based on your two emails
>> there is no further help I can give you.
>> 
>> Dirk
>> 
>> --
>> Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com
>> _______________________________________________
>> 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



More information about the Rcpp-devel mailing list