[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