当我尝试从源代码编译R包时,它使用R安装目录中etc/Makeconf中定义的编译器和设置。如何覆盖这些设置?
我有一个~/.R/Makevars文件(建议使用here),我在其中包含了我想要的设置,但由于某种原因没有使用这些设置。为什么不,我怎么才能解决这个问题?
我无法找到关于~/.R/Makevars和Makeconf-links的官方文档。
在过去,这个非常相同的设置对我来说是正确的,但是最近它没有。我猜想在最近的R版本中一定有一些变化,但是我不知道什么时候。最近有什么变化可能会影响到这一点吗?
动机和背景:
我在macOS上,我想使用来自MacPorts的gfortran。因此,我在FC = /opt/local/bin/gfortran-mp-11和FLIBS = -L/opt/local/lib/gcc11 -lgfortran -lquadmath -lm中设置了~/.R/Makevars。但是,系统仍然希望在/usr/local中使用gfortran安装,而这在我的计算机上并不存在。它显然采用了etc/Makeconf的路径和选项。我正在使用官方的R双星。
发布于 2021-10-11 07:13:41
事实证明,在我的机器上试图构建某个包时忽略~/.R/Makevars的原因是withr中的一个bug。
使用withr安装开发版本的devtools::install_github("r-lib/withr@master")解决了问题。
https://stackoverflow.com/questions/69357390
复制相似问题