编译后的R包是否向后兼容?

Jer*_*oen 9 ubuntu debian r cran rapache

新的R 3.0.0要求重新安装所有提供的软件包.两个问题:

  • 这是否也意味着在R升级后需要重新编译调用R的软件,例如rapache?
  • 新版本是否向后兼容?例如,如果r-cran-xxx使用r-base-dev3.0.0 编译包,是否可以在R 2.15中加载此包?或者我们是否需要为R 2.15和R 3.0.0分配单独的二进制包?

Dir*_*tel 2

这确实是 r-devel 的问题,或者当您使用我们的 Debian / Ubuntu 软件包术语 r-sig-debian 时。

简而言之:

  • 问题 1 是 AFAICT 的否。R C API没有改变。Rapache 的设计严​​重影响了我们的小得多的 Littler r,并且r在基于我的软件包从 Michael 的构建安装 R 3.0.0 后,在我的 Ubuntu 机器上运行得很好。尽管更小的(参见 参考资料r --version)是针对 R 2.15.2 构建的。

  • 问题 2 的答案是否定的,即没有任何改变。R 总是“在时间上向前”移动,而不是向后移动。当添加命名空间以及更改帮助格式时,我们就需要重新构建包。因此,如果您有 N 个不同的 R 版本,其中包有 M 个不同的 ABI,则您可能需要 M 个树并管理您的 libPath。这里没什么新鲜事。