r - 如何覆盖 R 使用的编译器?
问题描述
当我尝试从源代码编译 R 包时,它使用etc/Makeconf
R 安装目录中定义的编译器和设置。如何覆盖这些设置?
我有一个~/.R/Makevars
文件(例如在这里建议),并且我在其中包含了我想要的设置,但由于某种原因这些设置没有被使用。为什么不,我该如何解决这个问题?
我找不到官方文档,~/.R/Makevars
并且Makeconf
-欢迎提供链接。
过去,这种相同的设置曾经对我正常工作,但最近却不行。我认为最近的 R 版本一定发生了一些变化,但我不确定什么时候。最近是否有任何可能影响这一点的变化?
动机和背景:
我在 macOS 上,我想gfortran
从 MacPorts 使用。因此我设置FC = /opt/local/bin/gfortran-mp-11
和FLIBS = -L/opt/local/lib/gcc11 -lgfortran -lquadmath -lm
in ~/.R/Makevars
。但是,系统仍然想/usr/local
在我的机器上使用 gfortran 安装,它不存在。它显然从etc/Makeconf
. 我正在使用官方的 R 二进制文件。
解决方案
~/.R/Makevars
事实证明,在我的机器上尝试构建某个包时被忽略的原因是一个错误withr
:
安装withr
使用的开发版本devtools::install_github("r-lib/withr@master")
解决了这个问题。
推荐阅读
- postgresql - 优化多表条件查询
- jira-rest-api - 如何使用 jira api 创建测试周期
- next.js - 错误:必须在 Vercel 上提供有效的 Auth0 客户端密码
- vmware - VCSA 6.5 删除 .log.stderr 文件 perfcharts
- google-apps-script - 根据单元格的函数值将行移动到新工作表 - Google 表格
- java - 重复的类构建错误
- wpf - UI线程和渲染线程有什么区别?
- c++ - 堆栈实现和动态内存分配的问题
- flutter - Dart - 过滤对象列表行为异常......不知何故所有对象都包含一个字符串
- java - Spring Boot Actuator 不工作 - Whitelabel 错误页面