You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacBook M3上R 3.6适配gfortran遇架构问题求解决方案

在ARM64架构Mac上让R 3.6适配gfortran的解决方案

你的问题核心是架构不兼容:R 3.6是基于x86_64编译的(发布时Apple Silicon还未推出),而你当前安装的gfortran是ARM64版本,导致编译生成的目标文件(如wls.o)是arm64架构,无法被x86_64的R 3.6识别,从而报错。

以下是经过验证的解决步骤:

1. 安装x86_64版本的gfortran

选择与R 3.6版本匹配的x86_64 gfortran(推荐gcc 8.2.0版本,这是R 3.6发布时官方配套的编译器版本),安装后记住其安装路径(通常为/usr/local/gfortran或自定义的/opt/gfortran_x86)。

2. 配置R编译变量

在用户主目录下的.R文件夹中创建或编辑Makevars文件,添加以下内容(路径需与你的x86_64 gfortran安装路径一致):

FC=/usr/local/gfortran/bin/gfortran
F77=/usr/local/gfortran/bin/gfortran
FLIBS=-L/usr/local/gfortran/lib -lgfortran -lquadmath -lm

3. 以x86_64模式启动R 3.6

通过终端强制R 3.6在Rosetta 2下运行,确保整个进程为x86_64架构:

arch -x86_64 /Applications/R-3.6.app/Contents/MacOS/R

4. 安装依赖包

在上述启动的R会话中,直接执行包安装命令:

install.packages("glmnet")

验证方法

  • 在R会话中运行system("gfortran -v"),查看输出的架构信息是否为x86_64-apple-darwin
  • 若仍有疑问,可通过lipo -info /private/var/folders/.../wls.o(替换为报错中的.o文件路径)确认目标文件架构是否为x86_64

内容的提问来源于stack exchange,提问作者metrics

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 16:04:52