MacOS M1(Brew环境)安装R包lmtest时遇-lemutls_w库缺失错误
解决M1 Mac(Homebrew环境)安装R包
lmtest时的-lemutls_w链接错误 问题核心
M1架构Mac上,Homebrew提供的GCC新版本已移除emutls_w模拟库(ARM架构原生支持线程本地存储),但R的默认编译链接参数仍保留了该库的引用,导致安装lmtest时链接失败。
快速临时修复
在R会话中直接设置正确的链接参数,然后安装包:
# 覆盖默认链接参数,仅保留存在的GCC库 Sys.setenv(LDFLAGS = "-L/opt/homebrew/opt/gcc/lib -lgfortran -lquadmath") install.packages("lmtest")
永久解决(避免后续同类问题)
创建/修改R的编译配置文件~/.R/Makevars,指定正确的编译工具和链接参数:
# 指定Homebrew的gfortran路径 FC = /opt/homebrew/bin/gfortran F77 = /opt/homebrew/bin/gfortran # 设置编译 flags FLAGS = -Wall # 仅链接存在的GCC库 LDFLAGS = -L/opt/homebrew/opt/gcc/lib -lgfortran -lquadmath
备选方案:安装二进制包
如果编译仍有问题,直接安装CRAN提供的M1原生二进制包(无需编译):
install.packages("pak") pak::pak("lmtest")
内容的提问来源于stack exchange,提问作者ivo Welch
相关产品推荐
相关产品推荐

