Re: Transition news: GCC 6 enabled by default
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 | edd@debian.org
Reply to: