Skip to content
Prev 6561 / 10988 Next

[Rcpp-devel] RcppOctave on Windows: testing needed

Hello Renaud,

Here is a summary of my testing results.

1. Your binary and source distribution is currently setup to use DLL's
instead
    of static libs. This is tricky to do under Windows, and this is why Rcpp
    provides a static lib to link against. You may want to consider using
    the same convention to avoid the complications explained below.

2. Your binary installs fine under Windows 7, but when RcppOctave is
    loaded and then R is terminated, I get the unhelpful Windows error
    message: "This application has requested the Runtime to terminate
    it in an unusual way." I get the same failure when I try to build from
    source at the point where R CMD INSTALL tries to test the ability
    to load the package. The solution (not obvious from the message!)
    is to simply add the directory containing Rcpp.dll to PATH.
    The next item explains why.

3. Under normal circumstances when package Foo loads
    its own Foo.dll, what happens is that R reads the dll directly and
    does not depend on Windows to resolve dependencies on other
    R package dll's. But in the case of RcppOctave.dll, there is a
dependency
    on Rcpp.dll, and Windows will not resolve this dependency unless
    the directory containing Rcpp.dll is on PATH (another strategy is to
    place Rcpp.dll in a Windows System directory, but this is not
    consistent with the R install process and is not recommended).

4. The parameter _WIN32_WINNT is set to a value used to identify
    the underlying Windows OS version (2000, XP, 7, 8, etc.), and it
    is set differently in the gcc configuration used to build Octave and
    the one found in Rtools. I don't know if this makes a difference
    that matters. In general, there is the potential for ABI problems
    since Octave and Rtools use different versions of gcc. To be safe I
    guess you could build Octave using the gcc from Rtools.

5. On the recommended order of including RcppCommon.h vs Rcpp.h,
    I have implemented custom wraps a few times with only Rcpp.h
    included (at the top). This seems to work with rcpp_octave.h as well.
    I would like to see a simple example where
    the recommended order is necessary. Is this recommendation
    insurance against some future change? Does it apply specifically
    to user customized modules (as suggested by wrap_end.h)?

Thanks,
Dominick



On Fri, Oct 4, 2013 at 3:08 PM, Renaud Gaujoux <
renaud at mancala.cbio.uct.ac.za> wrote:

            
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20131005/c7587767/attachment.html>