[Rcppoctave-user] [Rcpp-devel] RcppOctave on Windows: testing needed
Dominick Samperi
djsamperi at gmail.com
Sat Oct 5 23:44:00 CEST 2013
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:
> Hi all,
>
> I finally got RcppOctave to work on Windows!
> See these threads for details on what it took:
>
> http://lists.r-forge.r-project.org/pipermail/rcpp-devel/2013-October/006524.html
>
> http://lists.r-forge.r-project.org/pipermail/rcpp-devel/2013-October/006555.html
>
> 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.
>
> The source is available from github on branch develop:
> https://github.com/renozao/RcppOctave/archive/develop.zip
>
> Corresponding built source and binary packages are also available from my
> CRAN-like repo:
> http://web.cbio.uct.ac.za/~renaud/CRAN
> e.g.:
> install.packages('RcppOctave', repos = c(getOption('repos'), '
> http://web.cbio.uct.ac.za/~renaud/CRAN'))
>
> Requirements:
> * 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;
> * 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.
>
> Note that I developed/tested the windows version using the mingw port (
> http://wiki.octave.org/Octave_for_Windows#Octave-3.6.4-mingw_.2B_octaveforge_pkgs),
> not sure if this is important, probably it is, maybe someone knows ;)
>
> I will also test on my side, but the more the merrier!
>
> Thank you.
>
> Bests,
> Renaud
>
> PS: people interested in keeping up with RcppOctave might consider
> subscribing the -- currently pristine -- mailing list
> http://lists.r-forge.r-project.org/pipermail/rcppoctave-user/
>
>
> _______________________________________________
> Rcpp-devel mailing list
> Rcpp-devel at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcppoctave-user/attachments/20131005/c7587767/attachment.html>
More information about the Rcppoctave-user
mailing list