<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Romain:<div><br></div><div>Thanks for your helpful response.  This works perfectly.</div><div><br></div><div>Michael</div><div><br></div><div><br></div><div><br><div><div>On Feb 26, 2012, at 8:50 AM, <<a href="mailto:romain@r-enthusiasts.com">romain@r-enthusiasts.com</a>></div><div> <<a href="mailto:romain@r-enthusiasts.com">romain@r-enthusiasts.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>hello, <br><br>You can grab the result of dyn.load and use it as the PACKAGE argument of Module. <br><br>Romain<br><br><br>Le 26 févr. 2012 à 01:11, Michael Braun <<a href="mailto:braunm@MIT.EDU">braunm@MIT.EDU</a>> a écrit :<br><br><blockquote type="cite">No, what I would like to do is access an Rcpp module from a dynamic library that is not part of a R package (e.g., loaded using dyn.load() ).  If I put the code in a package, there is no problem.  But what I am getting is:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><blockquote type="cite">library(Rcpp)<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">dyn.load("add.so")<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">mod=Module("adding")<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">add=new(mod$adding,1.2,3.4)<br></blockquote></blockquote><blockquote type="cite">Error in Module(module, mustStart = TRUE) : <br></blockquote><blockquote type="cite"> Failed to initialize module pointer: Error in FUN("_rcpp_module_boot_adding"[[1L]], ...): no such symbol _rcpp_module_boot_adding in package .GlobalEnv<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">The packages that you reference are all, well, packages, and from what I can tell about .onLoad(), that applies only to packages.  And the loadRcppModules function, apparently, must be called from an .onLoad function (because I get an error message to that effect).<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I have never had a problem loading compiled functions this way; it appears to be only an issue with modules.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I would appreciate some helpful suggestions from anyone in R-land who may have had some success with this (e.g., specific documentation pages to look at, code snippets that have worked for others, or other useful suggestions on what to try next).  Of course, if what I want to do is known to be impossible, that would also be a helpful response. <br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Respectfully,<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Michael<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">On Feb 25, 2012, at 3:24 PM, Dirk Eddelbuettel wrote:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Hi Michael,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">On 25 February 2012 at 19:45, Michael Braun wrote:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">| Hi.  I would like to start using Rcpp modules in my code, but I am having some<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">| trouble loading them into R.  Here is an example:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">My personal approach is to follow the path of least resistance on __start<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">from an existing package__ having the feature I want to use.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Rcpp comes with modules-using packages as part of the documentation (Rcpp<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">modules vignette) and unit tests. And there is even a package skeleton<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">generator (for which you can set an option to use modules). <br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">And among the now 55 CRAN packages using Rcpp (!!), a few use modules<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">too. One is my RcppBDT package, there are the two packages by Baptiste (cda,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">planar) and probably a few more but one can't tell from the DESCRIPTION.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Your code may have been fine, but you also need to look at the .onLoad or<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">.onAttach function etc.  So starting from a working stanza really strikes me<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">as easiest.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Hth, Dirk<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">-- <br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">"Outside of a dog, a book is a man's best friend. Inside of a dog, it is too<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">dark to read." -- Groucho Marx<br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">Rcpp-devel mailing list<br></blockquote><blockquote type="cite"><a href="mailto:Rcpp-devel@lists.r-forge.r-project.org">Rcpp-devel@lists.r-forge.r-project.org</a><br></blockquote><blockquote type="cite"><a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br></blockquote></div></blockquote></div><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">Michael Braun <br>MIT Sloan School of Management<br><a href="mailto:braunm@mit.edu">braunm@mit.edu</a><br>-------------------------------------------------- <br>View my research at<br>http://braunm.scripts.mit.edu/</span>
</div>
<br></div></body></html>