[Rcpp-devel] Fwd: CRAN packages with C++ compilation errors on OS X 10.9

baptiste auguie baptiste.auguie at gmail.com
Thu Oct 31 17:54:39 CET 2013

On 31 October 2013 13:15, Romain Francois <romain at r-enthusiasts.com> wrote:

> Le 31/10/2013 15:59, baptiste auguie a écrit :
>> Dear Rcpp gurus,
>> Today a CRAN maintainer informed us of the failure of a few Rcpp-related
>> packages to build under the new version of the Mac operating system, OS
>> X 10.9 aka Mavericks.
>> I do have access to a Mac, but I'm reluctant (in fact, unable) to update
>> to Mavericks, therefore I'm in the dark when it comes to fixing /testing
>> for the errors reported in the log file. On a positive note, it appears
>> at first sight that most of the errors are relatively benign, and
>> similar-looking issues are reported for all the packages involved. That
>> gives me hope that once the underlying issue is well identified, most
>> packages can be fixed with minimal changes.
>> Here's the info we were given from CRAN,
>> "OS X 10.9 (aka Mavericks) has a new C++ compiler, clang++ with libcxx
>> headers/runtime.  Your package fails to compile with that compiler: see
>> the appropriate log at http://www.stats.ox.ac.uk/pub/**__bdr/Mavericks/<http://www.stats.ox.ac.uk/pub/__bdr/Mavericks/>
>> <http://www.stats.ox.ac.uk/**pub/bdr/Mavericks/<http://www.stats.ox.ac.uk/pub/bdr/Mavericks/>>
>> ."
>> My two packages are cda and planar. The error seems to occur in the
>> Modules definition, e.g. from this line in my code
>> https://github.com/baptiste/**planar/blob/master/src/**
>> multilayer.cpp#L231<https://github.com/baptiste/planar/blob/master/src/multilayer.cpp#L231>
>> where "function" is judged ambiguous, as far as I understand. This
>> "function" is presumably something from
>> Rcpp/include/Rcpp/module/**Module_generated_function.h but I am not
>> familiar with that code.
>> Any ideas, hints?
>> Best regards,
>> baptiste
> I sent you a pull request on github.

> .function abuses the compiler recognition, it is just unfortunate that
> something else is called function, which is what confused it.
> Not sure there could be defenses against it.
> In the meantime, you should be fine by just using Rcpp::function

Thanks! I've merged your pull request, and will propagate the changes to my
cda package which reports similar issues.

> Also, for such trivial uses of modules (i.e. no classes), maybe it is
> worth considering using // [[Rcpp::export]] and code generation given by
> compileAttributes instead of modules.
You're probably right, I haven't been able to keep up with the new idioms
in Rcpp; next time I get around to developing the package for new
functionality, I'll investigate how to use those attributes instead.



> Romain
> --
> Romain Francois
> Professional R Enthusiast
> +33(0) 6 28 91 30 30
> ______________________________**_________________
> Rcpp-devel mailing list
> Rcpp-devel at lists.r-forge.r-**project.org<Rcpp-devel at lists.r-forge.r-project.org>
> https://lists.r-forge.r-**project.org/cgi-bin/mailman/**
> listinfo/rcpp-devel<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/rcpp-devel/attachments/20131031/f0558fad/attachment.html>

More information about the Rcpp-devel mailing list