On 9 August 2016 at 17:44, Emilio Pozuelo Monfort wrote: | On 07/08/16 15:18, Dirk Eddelbuettel wrote: | > | > Thanks for starting the g++-6 transition. | > | > I suspect/believe that I "own" a (small) stack which needs a transition policy: | > | > -- the "R" language (source package r-base) encodes its configuration time | > choices for all subsequent compilations; here we have CXX and CXX1X (plus | > CXX1Y in next release) | > | > -- this could be overwritten but it easiest just to rebuild R | > | > -- R itself is largely C and Fortran and will not be affected | > | > -- C++ packages will. I am also upstream of the somewhat-widely used C++ | > interface in package Rcpp (source package rcpp). We need to rebuild it, | > and then all packages dependending on it. See [1] below. There may also | | Why do all the rdeps need to be rebuilt? I'm not even sure I understand why rcpp | needs to be rebuilt...
Two things, as I understand them: i) C++ migrations from g++-4.* to g++-5 and now from g++-5* to g++-6 need migrations, or else things go kaputt. For a live example of this see eg #812286 with R, Rcpp, QuantLib, RQuantLib and g++-6 where only _parts_ where rebuild and it promptly goes 'booof'. ii) Not all rdeps of R -- that would be in excess of 200 or so. Only those using C++. As for Rcpp, it provides a C++-based layer on top of the (C interface) API of R. Hope this helps. | > be one or two C++ packages not using Rcpp such as r-cran-mcmcpack. I can | > weed those out by hand by running a script over rdepends for R as | > well. Actually just filtering rdepends for C++ works, see [2] | > | > -- Ditto for the QuantLib library (depending on Boost) and r-cran-rquantlib | > though that is a small leaf | > | > Is this "small potatos" and something I should organize informally with the | > package maintainers, or something you want to coordinate? | > | > I CC'ed Doko and Martin has I have been discussing an open bug report (which | > is somewhat false positive) concerning r-cran-rquantlib; this is really just | > the need for the same C++ compiler between R, Rcpp, QuantLib and RQuantLib | > (which this transition would achieve too). | > | > Let me know if I should take this to debian-devel or some other list. | | Can you summarise all this? I didn't quite understand what is required... | | What is needed here, binNMUs for a bunch of packages so they are built with the | same compiler? Why? Does the ABI change and thus is a library transition needed? Yes. For the 'base library', here package r-base-core, I would specify a different Build-Depends of gcc/g++-6. R encodes that and uses it for all subsequent compilation. So I have a new r-base in unstable we can just walk the dependency graph. (And r-cran-rquantlib depends on both R/Rcpp and QuantLib so I have to rebuild QuantLib too.) Hope this is clearer. Dirk -- http://dirk.eddelbuettel.com | @eddelbuettel | [email protected]

