Are compiled R packages backward compatible?
Asked Answered
W

1

9

The new R 3.0.0 requires that all contributed packages are reinstalled. Two questions:

  • Does this also mean that software that calls R, e.g. rapache, need to be recompiled after R has been upgraded?
  • Are the new builds backward compatible? E.g. if an r-cran-xxx package has been compiled using r-base-dev 3.0.0, can this package be loaded in R 2.15? Or do we need to distribute separate binary packages for R 2.15 and R 3.0.0?
Wetzel answered 4/4, 2013 at 4:12 Comment(3)
Shouldn't you be reading the DESCRIPTION file?Ipomoea
@DWin How is your comment helpful? Let's presume that (a) Jeroen READ the description, and (b) he is still unsure, either because the description file was unclear, or he is not as savvy with these sorts of things. I find the R user community to generally be full of very smart, knowledgeable people who unfortunately first start a typical conversation with "RTFM"-type comments. Let's, as a community, strive to be better than that.Cruciform
In this case I assumed that Jeroen knew more about this than I did and it was in fact a completely genuine question that I was asking for clarification. I thought he might be able to educate me.Ipomoea
C
2

This is really a question for r-devel, or as you use our Debian / Ubuntu package terminology, r-sig-debian.

In short:

  • Question 1 is AFAICT a no. The R C API did not change. The design of Rapache heavily influenced our much smaller littler r, and r runs just fine on my Ubuntu box after installing R 3.0.0 from Michael's builds based on my packages. Even though littler (see r --version) was built against R 2.15.2.

  • Question 2 is a no, and that is no change. R always moves "forward in time", not backwards. Just how we need package rebuilds when NAMESPACES were added, and when the help format changed. So if you have N different R versions with M different ABIs for packages, you may need M trees and manage your libPaths. Nothing new here.

Cable answered 4/4, 2013 at 15:16 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.