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

macOS下调用partitions包listParts函数致R/RStudio崩溃

问题现象

在macOS Monterey 12.2.1环境下,无论传入何种参数,调用partitions包的listParts()函数都会直接造成R及RStudio崩溃,相同代码在Windows设备上可正常运行。
当前运行环境信息:

  • 操作系统:macOS Monterey 12.2.1
  • R版本:4.2.0 GUI 1.78 High Sierra build
  • RStudio版本:2022.2.3.492
可复现代码
library(partitions)
myVec <- c(1:3)
partitions::listParts(length(myVec))
报错信息与回溯栈

运行上述代码触发的核心报错:

*** caught illegal operation ***
address 0x119c1cbfe, cause 'illegal opcode'

崩溃时的调用回溯栈:

Traceback:
 1: as.bigz(1)
 2: .fac(sum(x))
 3: setparts(x)
 4: partitions::listParts(myVec)
排查解决方法

从回溯栈可以定位,崩溃触发点在partitions的依赖包gmp的as.bigz()调用,本质是CRAN提供的对应R 4.2版本的macOS平台gmp二进制包,编译时启用了部分老旧Intel Mac设备不支持的CPU指令集,运行时触发非法操作错误,和代码本身逻辑无关,可通过以下方式解决:

  • 先安装Xcode命令行编译工具,打开终端执行xcode-select --install,按照弹窗提示完成安装即可。
  • 如果本地没有安装homebrew的gmp系统依赖,终端执行brew install gmp完成依赖部署。
  • 打开R,执行install.packages(c("gmp", "partitions"), type = "source"),从源码重新编译安装两个包,编译过程会自动适配当前设备CPU支持的指令集,安装完成后即可正常调用listParts()函数,不会触发崩溃。
  • 如果暂时不想配置编译环境,可将R版本降级到4.1.x稳定版,对应版本的gmp、partitions二进制包不存在该指令集兼容问题,可直接正常使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 23:12:17