[Rcpp-devel] Rcpp and required steps before next release

Steffen Neumann sneumann at ipb-halle.de
Tue Jan 28 17:24:43 CET 2014


Hi,

I just pushed mzR-1.9.4 to BioC-SVN, which only required a change 
of #include's in src/pwiz/utility/misc/sha1calc.cpp

"[...] because it tries to include Rcpp/iostream/Rostream.h, 
 which no longer exists 
 (consolidated into Rcpp/iostream/Rstreambuf.h) [...]"

=> Since when does Rstreambuf.h exist ? (Almost) always ? 
   Or should we have a versioned Dependency on Rcpp here ?

It passes R CMD check with R version 3.0.2 (2013-09-25) 
and Rcpp_0.10.6.1

Yours,
Steffen





On Mon, 2014-01-27 at 19:35 -0600, Dirk Eddelbuettel wrote:
> All,
> 
> A new Rcpp release is ready. But we need to take a few step to get to it.
> 
> With considerable help from Kevin Ushey, I have spent the last two weeks
> testing this release against all known [but 5] CRAN dependents (and Kevin did
> the same for BioConductor), identifying and correcting a few last minute
> issues, and preparing patches for the few packages which need a change. More
> on that below. Per JJ's suggestion, we also rebuilt the entire Rcpp Gallery
> which lead to another fix.
> 
> So in sum, we are at the same time excited about the new release, and pretty
> confident that it will be a reasonably smooth passage.
> 
> There is one major change in the build process: Romain changed Rcpp to
> instantiate all required symbols via registration with R (see Section 5.4 of
> Writing R Extensions).  The non-technical upshot is that there is no longer a
> linking step, and src/Makevars will go away for most packages. [ Exceptions:
> Armadillo users still to link to LAPACK,BLAS,FORTAN as provided by R; those
> using an external library still need to link to it too. But no more linking
> to Rcpp. ]
> 
> [ The release also brings a run-time change. You will probably have to
>   reinstall all packages using Rcpp on all your systems. See below for a
>   pointer to a short script finding all those packages. ]
> 
> I kept track of all the testing, scripts, logs and patches here:
> 
>      https://github.com/RcppCore/rcpp-logs
> 
> What follows below is the file status/status-2014-01-27.txt summarizing
> things.  Please give it a read (below, or via the repo).  I will also contact
> the maintainers of the fifteen packages needed a simple Imports:/importFrom:
> patch, and those of the three other packages with issues.
> 
> Per discussion with the CRAN maintainers, it has been suggested to plan a
> week for this next step of prepating the client packages.  
> 
> In case of questions, please do not hesitate to email me, or better still,
> the rcpp-devel list here.
> 
> Regards,
> 
> Dirk 
> on behalf of the Rcpp Core team
> 
> 
> 
> 
> 
> Release status of Rcpp as of 2014-01-27
> =======================================
> 
> 
> Summary
> -------
> 
> Running the script summarizing results straight out of its repo:
> 
>     edd at max:~/git/rcpp-logs$ Rscript results/Rcpp-Summary-20140112.R 
>     Good          157 
>       AsIs        139
>       w/Imports   15 
>       w/Other     2
>       w/Question  1 
>     Bad Rcpp      0 
>       RcppApi     0 
>       Unclear     0 
>     Bad other     6 
>       BioCDep     4 
>       NotRcpp     1 
>       Skipped     1 
>     Total         163 
>     Bad Rcpp Pct  0 
> 
> The scripts contains more details and comments. It reflect two weeks of
> testing, patching and refinements following an initial batch test on Jan 12.
> 
> The script, patches, summary (as well as old release checks) are in the
> repository at https://github.com/RcppCore/rcpp-logs
> 
> 
> Current state:
> --------------
> 
> Rcpp development sources are in the GitHub repo 
> 
>     https://github.com/RcppCore/Rcpp
> 
> and build and test fine.  
> 
> The rest of this post is about how this version fares relative to existing
> CRAN packages with a reverse dependency on Rcpp.
> 
> 
> Good packages: Works "As Is"
> ----------------------------
> 
> The vast majority of packages -- 139 in total -- build as-is under the
> upcoming Rcpp releease, including 'R CMD check' which is very satisfying.
> 
> 
> Good packages: Need an Imports / importFrom update
> --------------------------------------------------
> 
> Fifteen packages need to 
> 
>     i)  add   Imports: Rcpp               to DESCRIPTION
> 
>     ii) add   importFrom(Rcpp, evalCpp)   to NAMESPACE
> 
> Note that just adding import(Rcpp) does not suffice.
> 
> We have provided patches in this Github repo / directory:
> 
>     https://github.com/RcppCore/rcpp-logs/tree/master/patches/2014-01
> 
> for the following packages
> 
>     CDM-2.4-9.patch
>     fdaMixed-0.3.patch
>     gRbase-1.6-12.patch
>     gRim-0.1-17.patch
>     HLMdiag-0.2.3.patch
>     lme4-1.05.patch
>     openair-0.9-0.patch
>     rgam-0.6.2.patch
>     Ruchardet-0.0-2.patch
>     Rvcg-0.6-3.patch
>     SBSA-0.2.2.patch
>     sirt-0.41-21.patch
>     SpatialTools-0.5.5.patch
>     strum-0.1.patch
>     TAM-1.0-0.patch
> 
> I will also contact each of these maintainers by email.
> 
> 
> Good packages: Need another update / fix
> ----------------------------------------
> 
> Two remaining package needs to apply a minimal change to their include files
> and order (in essence: include just Rcpp.h, or RcppArmadillo.h, and no other
> Rcpp* headers as this can often derail some internal interdependencies).
> 
> We have provided patches in this Github repo / directory:
> 
>     https://github.com/RcppCore/rcpp-logs/tree/master/patches/2014-01
> 
> for the following package
> 
>     httpuv-1.2.1.patch
> 
> The dplyr package is already fixed in its repo as well and builds, but needs
> an update on CRAN. I also suggested a minor update to the examples (which do
> not always check if packages from a Suggests: are installed as it should).
> 
> A few of our packages neededed fixes as well, we first updated them in their
> respective R-Forge or GitHub repos, and have since uploaded them to CRAN:
> RQuantLib, RcppClassic, RcppEigen, RcppZiggurat as well as an earlier change
> in RProtoBuf
> 
> Special thanks to Alexios who already applied patches to rugarch and rmgarch,
> and uploaded those new versions to CRAN, and to Martin Vincent who relaxed a
> test condition in his sglOptim and uploaded it to CRAN.
> 
> 
> Good packages: Open question
> ----------------------------
> 
> Amelia builds, and tests fine -- but loops forever in one segment in the
> vignette.  After discussing this with Matt it was concluded that this is
> probably an Amelia issue.
> 
> 
> Bad/unknown packages: Missing Depends on BioConductor
> -----------------------------------------------------
> 
> Four packages were not tested as their Depends included BioConductor packages:
> 
>      GeneticTools GOsummaries orQA snplist 
> 
> It would be nice if someone with BioC installs could test these.
> 
> 
> Bad/unknown: Not Rcpp
> ---------------------
> 
> One packages has anoother issues:
> 
>      roxygen2  does not terminate its unit test
> 
> 
> Bad/skipped: Not tested
> -----------------------
> 
> As before, we have excluded the quadrupen package as its test appears to run
> for hours on end.
> 
> 
> BioConductor
> ------------
> 
> Kevin also tested the sixteen or so BioConductor packages, see 
> 
>      https://github.com/kevinushey/RcppBiocChecks
> 
> One package needs one of our fixed packages, another fails with an include
> issue similar to the one reported above -- and the rest passes.
> 
> 
> Summary
> =======
> 
> We consider Rcpp ready for release.  
> 
> Per discussion with CRAN, we plan to upload Rcpp in a week from giving
> maintainers time to apply the patches we prepared.
> 
> 
> 
> Appendix
> --------
> 
> There is also a run-time issue.  We recommend to reinstall all packages that
> use Rcpp.  A helper script is provided at 
> 
>    https://github.com/RcppCore/rcpp-logs/blob/master/scripts/showReverseRcppDepends.r
> 
> which lists installed package that use Rcpp, and for which current sources
> are (or are not) currently available on CRAN and its mirrors.
> 
> 


-- 
IPB Halle                    AG Massenspektrometrie & Bioinformatik
Dr. Steffen Neumann          http://www.IPB-Halle.DE
Weinberg 3                   http://msbi.bic-gh.de
06120 Halle                  Tel. +49 (0) 345 5582 - 1470
                                  +49 (0) 345 5582 - 0
sneumann(at)IPB-Halle.DE     Fax. +49 (0) 345 5582 - 1409



More information about the Rcpp-devel mailing list