conda skeleton cran使用错误的R版本

时间:2017-12-11 17:28:11

标签: python r conda bioconductor

我正在尝试从CRAN打包一些R包以在conda环境中使用,因为我正在使用Python和R包的组合来生成信息管道。由于其他依赖性,我需要将R保持在版本3.3

我用Python和R的版本创建了一个全新的环境:

$ conda create -n bioinfo python = 3.6.3 r = 3.3.2

根环境中没有安装R.然后我按照conda骨架的说明进行操作:

(bioinfo)$ conda skeleton cran rootSolve

(bioinfo)$ conda skeleton cran rootSolve

(bioinfo)$ conda build r-rootolve

出于某种原因,这持续产生R3.4依赖,即使根据CRAN,rootSolve包只需要R> = 2.01!这是从哪里来的?

将安装以下新软件包:     r-base:3.4.2-haf99962_0

虽然构建程序包实际上并没有改变我环境中运行的R版本,但是程序包不会加载。有什么想法吗?

R版本3.3.2(2016-10-31) - "真诚的南瓜补丁"

> library('rootSolve')
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/usr/people/bioc1402/miniconda3/envs/bioinfo2/lib/R/library/rootSolve/libs/rootSolve.so':
  /usr/people/bioc1402/miniconda3/envs/bioinfo2/lib/R/library/rootSolve/libs/rootSolve.so: undefined symbol: R_ExternalPtrAddrFn
In addition: Warning message:
package ‘rootSolve’ was built under R version 3.4.2 
Error: package or namespace load failed for ‘rootSolve’

1 个答案:

答案 0 :(得分:0)

显然这是一个bug,现在修复了conda-build 3.1.3, https://github.com/conda/conda-build/issues/2562

感谢conda团队!

'conda build r-rootolve --R = 3.3.1'现在适用于conda骨架生成的配方。