Le 13/10/13 20:47, Dominick Samperi a écrit :
Hello Romain,

I tested Rcpp11 under Mac OS (10.8.5) using Apple's
clang-500.2.75 (Xcode 5), and also under Linux. Here are
some results:

1. The recommended install method
     devtools::install_github("romainfrancois/Rcpp11")
     did not work. The problem seems to be that it looks at
     hadley's github repo instead of yours? The work-around is
     simply to download the zip file.

This should work with the devel version of devtools. This is a recent addition to devtools. https://twitter.com/hadleywickham/status/387303629952401409

2. Under Mac OS inclusion of internal.h causes compilation to fail
     because CALLFUN_1 defines a function with no 'extern "C"'
     linkage specification, while RCPP_FUN_1 defines the same
     function with this linkage specification.

     The error results from
     improved compliance with the standards: C++98 and C++11
     standards (Section 7.5.1) state that two function types with
     with different linkage are different types, yet one cannot
     overload the other because you cannot overload on the
     "return type" (which arguably includes the linkage).

    The work-around is to insert extern "C" in the CALLFUN_xx
    macros in internal.h. This is also needed in the declaration of
    init_Rcpp11_routines() in internal.h.

I'll go the opposite way actually, and not use c linkage at all, and perhaps have them in Rcpp's namespace.
Since these are registered, we don't need C linkage.

3. The default file system type under Mac OS uses case-insensitive
     file names (like Windows), whereas Linux file systems use
     case-sensitive file names. This can cause builds that work
     under Mac OS to fail under Linux, and this happens with
     Rcpp11: for example, Rcpp/Vector.h includes Rcpp/Na_Proxy.h,
     yet the file that exists on disk is Rcpp/NA_Proxy.h.

Thanks. I'll fix that.

     Thus periodic testing on systems with file name case-sensitivity
     can prevent big porting and refactoring headaches.

Cheers,
Dominick

Comments: Rcpp11 is in heavy development, so I'm not too concerned about these too much yet.

In any case, for things like that, please use the issue tracker:
https://github.com/romainfrancois/Rcpp11/issues?state=open

--
Romain Francois
Professional R Enthusiast
+33(0) 6 28 91 30 30

_______________________________________________
Rcpp-devel mailing list
Rcpp-devel@lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

Reply via email to