[Rcpp-devel] Rcpp and required steps before next release
Romain François
romain at r-enthusiasts.com
Tue Jan 28 17:28:40 CET 2014
Just don’t assume you can #include anything else than Rcpp.h and RcppCommon.h (but this one only if you need to provide custom wrap and as).
Romain
Le 28 janv. 2014 à 17:24, Steffen Neumann <sneumann at ipb-halle.de> a écrit :
> 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
>
> _______________________________________________
> Rcpp-devel mailing list
> Rcpp-devel at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
More information about the Rcpp-devel
mailing list