<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#3333FF">
    Dear Steve,<br>
    <br>
    Thanks for a quick answer. Please see comments inline, below.<br>
    <br>
    On 03/12/2012 10:54 AM, Steve Lianoglou wrote:
    <blockquote
cite="mid:CAHA9McOPp3HCnYiKRch0c_mAYMVJAcgwZffw+dz9tLL1twh5vg@mail.gmail.com"
      type="cite">
      <pre wrap="">You can try to load the shared library once you `R CMD
SHLIB` it using `dyn.load` (see ?dyn.load). </pre>
    </blockquote>
    Yes, you can try this, but the example in the vingette does not
    include this step. The vingette has only <br>
    >require(Rcpp)<br>
    >mod <- Module("mod").<br>
    <br>
    Which fails.<br>
    <br>
    I would then guess, as you did, that I should load the compiled
    code, and that dyn.load is the proper command. Except this also
    fails:<br>
    > require(Rcpp)<br>
    Loading required package: Rcpp<br>
    > dyn.load("test.so")<br>
    > mod <- Module("mod")<br>
    > mod$norm(3,4)<br>
    Error in Module(module, mustStart = TRUE) : <br>
      Failed to initialize module pointer: Error in
    FUN("_rcpp_module_boot_mod"[[1L]], ...): no such symbol
    _rcpp_module_boot_mod in package .GlobalEnv<br>
    <br>
    So I check the help text on dyn.load. Perhaps I need to load my
    shared library into the global env?<br>
    <br>
    > dyn.load("test.so",local=FALSE)<br>
    > mod <- Module("mod")<br>
    > mod$norm(3,4)<br>
    Error in Module(module, mustStart = TRUE) : <br>
      Failed to initialize module pointer: Error in
    FUN("_rcpp_module_boot_mod"[[1L]], ...): no such symbol
    _rcpp_module_boot_mod in package .GlobalEnv<br>
    <br>
    fails.<br>
    <br>
    <blockquote
cite="mid:CAHA9McOPp3HCnYiKRch0c_mAYMVJAcgwZffw+dz9tLL1twh5vg@mail.gmail.com"
      type="cite">
      <blockquote type="cite">
        <pre wrap="">This is, in fact, my main frustration with all of the rcpp documentation. It
consistently assumes a high level of sophistication from its users. Almost
none of the examples work "as is", nor do they give hints as to what
information is missing.
</pre>
      </blockquote>
      <pre wrap="">I don't know how fair of a complaint that is ... at a minimum, I think
you should be familiar with the concepts in the "Writing R Extensions"
manual:

<a class="moz-txt-link-freetext" href="http://cran.r-project.org/doc/manuals/R-exts.pdf">http://cran.r-project.org/doc/manuals/R-exts.pdf</a>

and I don't think it's really unfair for the devs to assume that as a
starting point.
</pre>
    </blockquote>
    <br>
    Rcpp is a vast improvement over the older approach to writing R
    extensions, a point the developers are rightly proud of. Given that,
    it is inconsistent to expect intimately familiarity with the (now)
    obsolete approach in order to get even the most basic examples of
    the new approach to work.<br>
    <br>
    A vingette in which <i>none</i> of the examples work as written
    makes a very frustrating introduction to a topic, and one I would
    hesitate to pass on to my students.<br>
    <br>
    +glenn<br>
    <br>
    <br>
    <br>
    On 03/12/2012 10:54 AM, Steve Lianoglou wrote:
    <blockquote
cite="mid:CAHA9McOPp3HCnYiKRch0c_mAYMVJAcgwZffw+dz9tLL1twh5vg@mail.gmail.com"
      type="cite">
      <pre wrap="">Hi Glenn,

On Mon, Mar 12, 2012 at 5:26 AM, Glenn Lawyer <a class="moz-txt-link-rfc2396E" href="mailto:lawyer@mpi-inf.mpg.de"><lawyer@mpi-inf.mpg.de></a> wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">Dear List,

I am working through the vingette "Exposing C++ functions and classes with
Rcpp modules," and am stuck at section 2.2.1.

I create a text file with the code for the Uniform class, and successfully
compile it with R CMD SHLIB.

Can you please tell me how to load it into R so that I can continue with the
example? The vingette clearly shows how to use it once everything is set up,
but does not show how to set things up.
</pre>
      </blockquote>
      <pre wrap="">
I suspect they want you to either whip the functionality you are using
to create a module from into a package of sorts (some documentation
for that is at the end of the vignette, but also in other (non
Module-specific) Rcpp vignettes).

You can alternatively try to load the shared library once you `R CMD
SHLIB` it using `dyn.load` (see ?dyn.load). You will definitely need
to have Rcpp loaded in your workspace first, though.

That may or may not work w/ modules, though ... I never tried, but:

</pre>
      <blockquote type="cite">
        <pre wrap="">This is, in fact, my main frustration with all of the rcpp documentation. It
consistently assumes a high level of sophistication from its users. Almost
none of the examples work "as is", nor do they give hints as to what
information is missing.
</pre>
      </blockquote>
      <pre wrap="">
I don't know how fair of a complaint that is ... at a minimum, I think
you should be familiar with the concepts in the "Writing R Extensions"
manual:

<a class="moz-txt-link-freetext" href="http://cran.r-project.org/doc/manuals/R-exts.pdf">http://cran.r-project.org/doc/manuals/R-exts.pdf</a>

and I don't think it's really unfair for the devs to assume that as a
starting point.

I guess you're somehow right in the sense that reading through that
requires a bit of R sophistication, but what you're trying to do w/
Rcpp is sophisticated :-)

Also, the examples using `inline` are the ones you can get away with
doing w/o having some R know-how, but once you get into the world of
trying to compile external C++ code and include it "seamlessly" into
R, you really should do a bit of h/w on the R library/package building
process (the R-exts doc above).

Hope that helps,
-steve

</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="66">-- 
-----------------------------------
It is difficult to find a black cat in a dark room,
especially if there is no cat.
  -- Chinese proverb

  Dr. Glenn Lawyer                    
  +352 661 967 244              
  Max-Planck-Institut für Informatik
  Computational Biology and Applied Algorithmics
  Campus E1 4
  66123 Saarbrücken, Germany
  <a class="moz-txt-link-freetext" href="http://bioinf.mpi-inf.mpg.de/~lawyer">http://bioinf.mpi-inf.mpg.de/~lawyer</a>

</pre>
  </body>
</html>