<div dir="ltr"><div><div>Hello Renaud,<br><br>Here is a summary of my testing results.<br><br></div>1. Your binary and source distribution is currently setup to use DLL's instead<br></div><div>    of static libs. This is tricky to do under Windows, and this is why Rcpp<br>
</div><div>    provides a static lib to link against. You may want to consider using<br></div><div>    the same convention to avoid the complications explained below.<br></div><div><br>2. Your binary installs fine under Windows 7, but when RcppOctave is<br>
</div><div>    loaded and then R is terminated, I get the unhelpful Windows error<br></div><div>    message: "This application has requested the Runtime to terminate <br>    it in an unusual way." I get the same failure when I try to build from<br>
</div><div>    source at the point where R CMD INSTALL tries to test the ability<br></div><div>    to load the package. The solution (not obvious from the message!)<br>    is to simply add the directory containing Rcpp.dll to PATH. <br>
    The next item explains why.<br></div><div><br></div><div>3. Under normal circumstances when package Foo loads<br></div><div>    its own Foo.dll, what happens is that R reads the dll directly and<br></div><div>    does not depend on Windows to resolve dependencies on other<br>
    R package dll's. But in the case of RcppOctave.dll, there is a dependency<br></div><div>    on Rcpp.dll, and Windows will not resolve this dependency unless<br></div><div>    the directory containing Rcpp.dll is on PATH (another strategy is to<br>
</div><div>    place Rcpp.dll in a Windows System directory, but this is not<br></div><div>    consistent with the R install process and is not recommended).<br><br></div><div>4. The parameter _WIN32_WINNT is set to a value used to identify<br>
</div><div>    the underlying Windows OS version (2000, XP, 7, 8, etc.), and it<br></div><div>    is set differently in the gcc configuration used to build Octave and<br></div><div>    the one found in Rtools. I don't know if this makes a difference<br>
</div><div>    that matters. In general, there is the potential for ABI problems<br></div><div>    since Octave and Rtools use different versions of gcc. To be safe I<br></div><div>    guess you could build Octave using the gcc from Rtools.<br>
</div><div><br></div><div>5. On the recommended order of including RcppCommon.h vs Rcpp.h,<br></div><div>    I have implemented custom wraps a few times with only Rcpp.h<br></div><div>    included (at the top). This seems to work with rcpp_octave.h as well.<br>
    I would like to see a simple example where<br></div><div>    the recommended order is necessary. Is this recommendation<br></div><div>    insurance against some future change? Does it apply specifically<br></div><div>
    to user customized modules (as suggested by wrap_end.h)?<br></div><div><br></div><div>Thanks,<br>Dominick<br><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Oct 4, 2013 at 3:08 PM, Renaud Gaujoux <span dir="ltr"><<a href="mailto:renaud@mancala.cbio.uct.ac.za" target="_blank">renaud@mancala.cbio.uct.ac.za</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi all,<br><br>I finally got RcppOctave to work on Windows!<br></div><div>See these threads for details on what it took:<br>
<a href="http://lists.r-forge.r-project.org/pipermail/rcpp-devel/2013-October/006524.html" target="_blank">http://lists.r-forge.r-project.org/pipermail/rcpp-devel/2013-October/006524.html</a><br>
<a href="http://lists.r-forge.r-project.org/pipermail/rcpp-devel/2013-October/006555.html" target="_blank">http://lists.r-forge.r-project.org/pipermail/rcpp-devel/2013-October/006555.html</a><br><br>I would love to have feedbacks -- and log output :) -- on install/build/check run on other Windows machines. So feel free to try and complain if things go wrong.<br>

<br><div>The source is available from github on branch develop:<br><a href="https://github.com/renozao/RcppOctave/archive/develop.zip" target="_blank">https://github.com/renozao/RcppOctave/archive/develop.zip</a><br><br>
</div><div>Corresponding built source and binary packages are also available from my CRAN-like repo:<br>
</div><div><a href="http://web.cbio.uct.ac.za/~renaud/CRAN" target="_blank">http://web.cbio.uct.ac.za/~renaud/CRAN</a><br></div><div>e.g.:<br></div><div>install.packages('RcppOctave', repos = c(getOption('repos'), '<a href="http://web.cbio.uct.ac.za/~renaud/CRAN'" target="_blank">http://web.cbio.uct.ac.za/~renaud/CRAN'</a>))<br>

</div><div><br></div><div>Requirements:<br></div>  * building: Octave bin/ sub-directory must be in Windows PATH + the usual Rtools stuff. Probably better not to have spaces in R and Rtools paths;<br><div>  * installing: never actually tried... but Octave bin/ sub-directory must be in the path, I imagine that Octave library directory (where liboctave, liboctinterp and libcruft live) must also be somehow registered or in Windows PATH.<br>

<div><br>Note that I developed/tested the windows version using the mingw port (<a href="http://wiki.octave.org/Octave_for_Windows#Octave-3.6.4-mingw_.2B_octaveforge_pkgs" target="_blank">http://wiki.octave.org/Octave_for_Windows#Octave-3.6.4-mingw_.2B_octaveforge_pkgs</a>), not sure if this is important, probably it is, maybe someone knows ;)<br>

</div><br></div><div>I will also test on my side, but the more the merrier!<br></div><div><br></div></div><div>Thank you.<br><br></div><div>Bests,<br></div><div>Renaud<br></div><div><br>PS: people interested in keeping up with RcppOctave might consider subscribing the -- currently pristine -- mailing list <a href="http://lists.r-forge.r-project.org/pipermail/rcppoctave-user/" target="_blank">http://lists.r-forge.r-project.org/pipermail/rcppoctave-user/</a><br>

</div><div><br></div></div>
<br>_______________________________________________<br>
Rcpp-devel mailing list<br>
<a href="mailto:Rcpp-devel@lists.r-forge.r-project.org">Rcpp-devel@lists.r-forge.r-project.org</a><br>
<a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br></blockquote></div><br></div>