在 macOS 上安装 data.table

2023-12-12

我需要在 macOS 11.1 上安装 data.table 1.12.0(特别是)。

我收到错误:

clang: error: unsupported option '-fopenmp'
make: *** [assign.o] Error 1

我已按照以下说明进行操作https://github.com/Rdatatable/data.table/wiki/Installation#openmp-enabled-compiler-for-mac但仍然无法让它工作。 R 3.6.1。

我还尝试了 R CMD 安装并得到了相同的错误:

R CMD install data.table_1.12.0.tar.gz 
* installing to library ‘/Users/XXX/Library/R/3.6/library’
* installing *source* package ‘data.table’ ...
** package ‘data.table’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
clang -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG   -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include -fopenmp -fPIC  -Wall -g -O2  -c assign.c -o assign.o
clang: error: unsupported option '-fopenmp'
make: *** [assign.o] Error 1
ERROR: compilation failed for package ‘data.table’
* removing ‘/Users/XXX/Library/R/3.6/library/data.table’

更新:对我来说从 CRAN 安装最新的 data.table 似乎也是一个问题,所以它显然不限于 1.12.0。


注意。该解决方案适用于 Intel 处理器(不适用于 Apple M1 芯片)

这些是我在启用多线程/openMP 的情况下从源安装 data.table 的步骤(最初在https://stackoverflow.com/a/65334247/12957340):

  1. 重新安装 xcode 命令行工具(即使它说“最新”)
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
  1. 通过 Homebrew 安装 gcc 和 llvm (Homebrew 安装说明)或者,如果您已经通过 Homebrew 安装了 gcc/llvm,请跳到下一步
# This can take several hours
brew install gcc
brew install llvm
  1. 通过 Homebrew 安装 gcc 和 llvm 后:
brew cleanup
brew update
brew upgrade
brew reinstall gcc
brew reinstall llvm
  1. 将一些标头链接到 /usr/local/include
sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/* /usr/local/include/

# You can safely ignore warnings like this:
#ln: /usr/local/include//tcl.h: File exists
#ln: /usr/local/include//tclDecls.h: File exists
#ln: /usr/local/include//tclPlatDecls.h: File exists
#ln: /usr/local/include//tclTomMath.h: File exists
#ln: /usr/local/include//tclTomMathDecls.h: File exists
#ln: /usr/local/include//tk.h: File exists
#ln: /usr/local/include//tkDecls.h: File exists
#ln: /usr/local/include//tkPlatDecls.h: File exists
  1. 安装GMP库:
brew install gmp
  1. 创建一个新的~/.R/Makevars文件(如果您已经有~/.R/Makevars文件,将其保存在不同的目录中(远离~/.R/)) 并在文件中仅包含这些行:
LOC=/usr/local/gfortran
CC=$(LOC)/bin/gcc -fopenmp
CXX=$(LOC)/bin/g++ -fopenmp
CXX11 = $(LOC)/bin/g++ -fopenmp

CFLAGS=-g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe
CXXFLAGS=-g -O3 -Wall -pedantic -std=c++11 -mtune=native -pipe
LDFLAGS=-L$(LOC)/lib -Wl,-rpath,$(LOC)/lib,-L/usr/local/lib
CPPFLAGS=-I$(LOC)/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/usr/local/include

FLIBS=-L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin19/10.2.0 -L/usr/local/gfortran/lib -lgfortran -lquadmath -lm
CXX1X=/usr/local/gfortran/bin/g++
CXX98=/usr/local/gfortran/bin/g++
CXX11=/usr/local/gfortran/bin/g++
CXX14=/usr/local/gfortran/bin/g++
CXX17=/usr/local/gfortran/bin/g++
  1. 从 R/Rstudio 中的源代码编译 data.table
install.packages("data.table", type = "source")

# To check whether it installed correctly, run:
library(data.table)
  1. 如果你的包无法编译,一些 SO 用户必须安装一个新的 gfortran (回复:https://stackoverflow.com/a/65334247/12957340),您可以从中下载https://github.com/fxcoudert/gfortran-for-macOS/releases
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 macOS 上安装 data.table 的相关文章

随机推荐

  • 在构造函数中使用 T 创建通用组件

    我正在尝试制作一个通用组件来显示列表资源 我在 HTML 中实例化组件时遇到问题 我正在用这个answer试图解决这个问题 但我觉得这是行不通的 我有这个组件
  • pyinstaller后运行FastAPI多进程错误

    我正在使用具有多个处理器 5 个进程 的 UVICORN 运行 python FastAPI 它从代码中运行顺利 但是当我尝试从 pyinstaller 生成 exe 并尝试运行该文件时 它显示错误 文件名 main py import m
  • C# for 循环中使用括号和不使用括号的区别

    以下代码的输出与第二个代码的输出不同 有人可以解释这个问题吗 Code 1 for int i 1 i lt intInput i for int j 1 j lt i j Console Write Console WriteLine i
  • 是否真的可以使用自定义 HTTP 标头来防止 CSRF,因为浏览器会阻止站点将自定义 HTTP 标头发送到另一个站点?

    今天在研究CSRF 发现了下面这句话 自定义 HTTP 标头可用于防止 CSRF 因为浏览器 阻止网站将自定义 HTTP 标头发送到另一个网站 但 允许站点向自己发送自定义 HTTP 标头 这篇文章里面 https www invicti
  • 公开 VSCode 活动“when 子句上下文”的方法

    我正在寻找一种公开 VSCode 的方法active when 子句上下文 例如 explorerResourceIsFolder 为了让您更好地理解我的用例 以下是正在开发 VSCode 扩展的项目的一些背景信息 我的扩展将有助于通过语音
  • 主要的 .NET 3.0 模拟框架有哪些?

    首先 我喜欢 Moq 我希望可以在 NET 3 0 中使用它 然而遗憾的是 我不能 但我仍然想使用模拟来进行单元测试 另外 我以前用过Rhino 但我绝对讨厌它 不过 更具描述性的是 这是因为界面感觉笨重且不直观 这是可以处理的 而文档要么
  • R:使用“strsplit”耗尽内存

    我的内存不足strsplit 想必 这是代码 split fields lt function frame fields split suffix for field in fields v lt sapply strsplit frame
  • SSL 配置无法读取 server.crt 文件

    我想在这里完成本教程 创建自签名 SSL 证书 https devcenter heroku com articles ssl certificate self 我生成了 csr 密钥并生成了证书 csr 当我回到 ssl heroku 教
  • 如何从命令行检查 jvm 模块内容?

    我想从命令行检查本地安装的 jvm 的 java 模块的资源文件的内容 基于一个问题jvm 中的 mime 类型支持我想看看的内容 sun net www content types properties在模块中java base我本地安装
  • CSS 列表逐渐淡入,数量未知

    我试图使用普通 CSS 进行逐渐淡入淡出 并且列表中没有 jquery 这样它就可以一一淡入淡出 然而 我只知道如何在有限的列表中做到这一点 如何循环 css 以便无论我有多少列表 它仍然有效 这是我所做的 ladder opacity 0
  • 从传入消息 (SMS) 中获取 IMSI 号码或目标电话号码

    我正在开发一个应用程序 需要接收短信的设备 具有多个 SIM 卡 的 IMSI 电话号码 这基本上是为了识别哪个 SIM 卡正在接收短信并稍后执行进一步的操作 我彻底搜索了 SMSMessage Api 但没有找到合适的解决方案 任何帮助将
  • 命名空间“std”中没有名为“shared_ptr”的类型

    希望这对其他人有帮助 尝试使用 Cedar BDD 编译 iOS 项目一直失败 并出现命名空间 std 中没有名为 shared ptr 的类型错误消息 这显然是一个 C 错误 但无法理解为什么 Xcode 使用的 C 库没有定义共享指针类
  • Make 中模式规则的优先级

    我 大致 有这个 Makefile PHONY all SUFFIXES OUT www web all OUT index html rule 1 html in build html lt rule 2 OUT cp lt 这个 Mak
  • 从 Python 将密码传递给 runas [重复]

    这个问题在这里已经有答案了 我需要从我的脚本以另一个用户身份运行一个文件 而不提示输入密码 这是怎么做到的 有一个可执行程序叫做沙努尔程序这就是针对这种情况而设计的 您可以使用它在命令行上输入密码 如下所示 runas user domai
  • 如何使用sql在h2中插入几何图形

    从几个版本开始 h2 确实支持空间几何 在java中选择和插入几何图形不是问题 但是如何在纯sql中插入它们呢 文档显示它使用 WKT 但是当我尝试插入 WKT 时出现错误 这是一个示例插入 insert into feature id n
  • 类 java.util.Map 有泛型类型参数,请使用 GenericTypeIndicator 代替

    我正在使用 firebase 从数据库中检索数据 n 使用 Map
  • 在 __init__.py 中找不到引用“xxx”

    我在 PyCharm 中有一个项目组织如下 Sources init py Calculators init py Filters py Controllers init py FiltersController py Viewers in
  • Flex 订单属性未按预期工作

    我试图得到 通心粉和奶酪真的很好吃 在 网站的主要内容 下方 content padding 0 background 0 float none width auto heading display flex display webkit
  • 删除指针有时会导致堆损坏

    我有一个使用自定义线程池类运行的多线程应用程序 这些线程都执行相同的函数 但参数不同 这些参数通过以下方式传递给线程池类 jobParams is a struct of int double etc jobParams params ne
  • 在 macOS 上安装 data.table

    我需要在 macOS 11 1 上安装 data table 1 12 0 特别是 我收到错误 clang error unsupported option fopenmp make assign o Error 1 我已按照以下说明进行操