[R-sig-Debian] Debian backport on Stretch?
Johannes Ranke
jranke at uni-bremen.de
Mon Nov 20 11:48:58 CET 2017
Am Sonntag, 19. November 2017, 09:06:04 CET schrieb Dirk Eddelbuettel:
> On 19 November 2017 at 19:02, Charles Plessy wrote:
> | Le Sat, Nov 18, 2017 at 03:26:53PM -0800, Bill Harris a écrit :
> | > Incidentally, you can see a bit more complete description at
> | > https://unix.stackexchange.com/questions/402560/how-do-i-install-r-on-de
> | > bian-stretch-given-the-r-api-3-issue .
> |
> | Hi Bill and everybody,
> |
> | if one installs R >= 3.4.2 from any source, then some Debian packages
> | will be broken. The change of r-api virtual dependency prevents this to
> | happen.
>
> Note that this was a transition forced upon the maintainer (ie me) by a
> group consensus and override. I argued against it as the underlying issue
> was rather minute [1] yet the imposition of the r-api change imposes this
> "omg everything is borked" side effect I consider overkill.
>
> | Since you install R from CRAN's Debian packages, can't you also upgrade
> | the r-cran-* packages using `apt-get install -t stretch-cran34` as
> | suggested in
> | <https://cran.r-project.org/bin/linux/debian/#debian-stretch-stable> ?
>
> In short, you need matching toolchains. For a given r-base-core package, you
> need the corresponding r-cran-*
>
> Personally, I don't use these backports. My 'development' work happens where
> Debian is fresh and new ("unstable", and "testing"); my deployments at work
> and elsewhere happens to be on Ubuntu (different story).
>
> So I cannot speak to the state of these backports as that is a project by
> Johannes outside of the official Debian scope. He may chime in.
Here I am:
packages fixed in unstable by rebuilding against current R do not propagate to
stretch and jessie or older Ubuntu distributions.
Therefore, as the backport of R 3.4.2 to Ubuntu still provides r-api-3, I was
under the impression that the 46 packages that you are listing in the current
version of your document [1] must be broken in some way when using the current
R backports on CRAN for Ubuntu. And I thought it is a good thing that they are
not installable on Debian stretch/jessie when using the CRAN backport
providing r-api-3.4.
In order to check the relevance of this once again, I selected r-cran-
data.table from your list. However, ironically, this package only uses .C() in
a comment... So not really affected...
My next try was MCMCpack. Grepping the sources I found lots of calls to .C(),
e.g. in the function MCMChlogit().
me at box:~/tmp/r-cran-mcmcpack-1.4-0/R$ grep "\.C(" *
...
MCMChlogit.R: Sample <- .C("cMCMChlogit",
...
However, on Ubuntu Xenial using the backport of R 3.4.2 that still provides r-
api-3, this function works beautifully (against my expectation).
Finally, I tried deSolve as packaged in r-cran-desolve. It uses .C in all many
of its major functions:
me at box:~/tmp/r-cran-desolve-1.20/R$ grep "\.C(" *
daspk.R: on.exit(.C("unlock_solver"))
euler.R: on.exit(.C("unlock_solver"))
iteration.R: on.exit(.C("unlock_solver"))
lsoda.R: on.exit(.C("unlock_solver"))
lsodar.R: on.exit(.C("unlock_solver"))
lsode.R: on.exit(.C("unlock_solver"))
...
But e.g. the function lsode() from the old r-cran-lsode package from Xenial
(uploaded long before R 3.4.x) works nicely together with the R 3.4.2
backport.
This leads me suspect that only calls to .C() (I didn't look at Fortran()) are
affected that have the names of R objects as first argument, and not quoted
strings like "unlock_solver". What got the whole issue rolling were the
function coxph() in package survival [2] that uses internally a call
coxres <- .C(Ccoxmart, as.integer(n),
and the case that I found myself [3] involving the call
z <- .C(lqs_fitlots,
in package MASS.
Therefore, in the light of the above, the list of Breaks: that I have pledged
for [4] could have been even shorter than we thought.
In fact, I am thinking about trying to produce such a shortened list for the
backport of R 3.4.3 that is scheduled to be released end of this month, to be
able to switch back to r-api-3 for the CRAN backports to stretch and jessie.
Thoughts and/or helpful hands appreciated.
I believe the best thing about all this is that we will all be prepared for
the upcoming change of r-api-* next year.
Cheers,
Johannes
> Dirk
>
> [1] http://eddelbuettel.github.io/rcppapt/binnmuAfterR340.html
[2] https://stat.ethz.ch/pipermail/r-sig-debian/2017-April/002680.html
[3] https://stat.ethz.ch/pipermail/r-sig-debian/2017-April/002683.html
[4] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=861333#95
More information about the R-SIG-Debian
mailing list