Le 09/10/13 23:43, Dirk Eddelbuettel a écrit :

On 9 October 2013 at 23:13, Romain Francois wrote:
| Le 09/10/13 03:41, Dirk Eddelbuettel a écrit :
| >
| > On 8 October 2013 at 16:53, Dirk Eddelbuettel wrote:
| > | | This is also what's done in e.g. Rcpp.package.skeleton. However, 
following the
| > | | new guidelines from CRAN, RcppLdFlags was exported, but not LdFlags. I 
wonder
| > |
| > | Darn.  Error on my part.  It should have been LdFlags.  That was the 
intent.
| > | Oh well.
| >
| > Minor correction: Seems we need both. So back to export RcppLdFlags(), but
| > thanks to Kevin also exporting LdFlags().  Done in svn rev4566.
| >
| > Dirk
|
| One good thing about the previous system was that other packages could
| follow the same convention and also have a hidden LdFlags function
| giving information about what is required to link against it.
|
| I do it, e.g. on the dplyrRcpp package.
|
| Now that it is exported, I get this when I load dplyrRcpp which is
| annoying:
|
|
| L'objet suivant est masqué from ‘package:Rcpp’:
|
|      LdFlags

Gosh, that sucks.  It'll bite a few of mine too.

| What would be the recommendation for such third party packages that also
| ship a library.

Don't know, and am open for suggestions.

Maybe the local packages need to rename their version?

That will then quickly become a mess. Having the convention package:::LdFlags() was fine.

Or perhaps we could centralize within Rcpp, i.e. have something like:

PKG_LIBS = `$(R_HOME)/bin/Rscript -e "Rcpp::LdFlags('foo')"`

and we would just have to leverage the inline plugin for package "foo' there.

Or maybe I got it all wrong and we get by with fewer exports?  I am (as
usual) open for all sorts of changes at the Rcpp level (provided they don't
break anything).

| Was it really a problem that we called LdFlags with :::, did R CMD check
| look for it in Makevars and Makevars.win ?

CRAN / R Core thought so and told everybody who ran 'R CMD check' with a new
version of R(-devel).  That has been going on for a few weeks.  Not sure if
you regularly build r-devel or run R CMD check, but it's been there for a
good while (and check R's NEWS commit log if you need to know more).

I think R 3.0.2 may now do it too; see NEWS.

And see Kevin's email from yesterday.  I had also gotten private email from
another maintainer who apparently had CRAN yell at him over this.  <Sigh>

So from the Rcpp side we have little choice but to export LdFlags() as others 
are
calling it, and R CMD check now complains about the use -- unless it is 
exported.

Sure.

| It is not really a problem for me, I can eliminate the need for a
| library in dplyrRcpp.
|
| Would it perhaps make sense to think about standard ways for R packages
| to register what they need. We have a system like this for inline
| plugins, maybe it would be interesting to move this up in R and let
| packages communicate in some way (perhaps in DESCRIPTION) what they need.

Sounds good, make a proposal, get buy-in from R Core and I'll gladly adapt my
other packages once that is implemented.

Dirk

I just meant to start a discussion. I'll adapt my package so that it does not need to build a library.

--
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