I have followed the Rcpp developer's recommendation that a package greatly simplifies using RCPP_MODULE wrappering. Unfortunately, I'm having difficulty building and checking even a simple package containing an Rcpp module. I have read previous posts on this topic but I did not find anything helpful. I must be overlooking something very simple, please help.
The package check fails with this error: ** testing if installed package can be loaded Error : .onLoad failed in loadNamespace() for 'mod', details: call: value[[3L]](cond) error: failed to load module mod from package mod no binding for "norm" The package skeleton was created with Rcpp.package.skeleton() to which I added a C++ source file and then edited files according to the 'Read-and-delete-me' file. Here are my build and check steps: $ R CMD build mod * checking for file `mod/DESCRIPTION' ... OK * preparing `mod': * checking DESCRIPTION meta-information ... OK * cleaning src * checking for LF line-endings in source and make files * checking for empty or unneeded directories * building `mod_1.0.tar.gz' $ R CMD check mod * using log directory '/home/simone/R/Rcpp/module/mod.Rcheck' * using R version 2.13.1 (2011-07-08) * using platform: x86_64-pc-linux-gnu (64-bit) * using session charset: UTF-8 * checking for file 'mod/DESCRIPTION' ... OK * checking extension type ... Package * this is package 'mod' version '1.0' * checking package name space information ... OK * checking package dependencies ... OK * checking if this is a source package ... OK * checking for executable files ... OK * checking whether package 'mod' can be installed ... ERROR Installation failed. The package skeleton was created with Rcpp.package.skeleton(). Here is the module directory structure: $ /bin/ls -R mod mod: DESCRIPTION man NAMESPACE R Read-and-delete-me src mod/man: mod-package.Rd mod/R: zzz.R mod/src: Makevars Makevars.win rcpp_module.cpp Here are the key files: $ cat mod/NAMESPACE useDynLib(mod) exportPattern("^[[:alpha:]]+") import( Rcpp ) $ cat mod/R/zzz.R .onLoad <- function(libname, pkgname) { require("methods", character=TRUE, quietly=FALSE) loadRcppModules() } $ cat mod/src/rcpp_module.cpp #include <math.h> #include <Rcpp.h> double norm( double x, double y ) { return sqrt( x*x + y*y ); } RCPP_MODULE(mod) { using namespace Rcpp; function( "norm", &norm ); } _______________________________________________ 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