R包data.table无法在R 3.5.1的系统上安装/编译

问题描述 投票:1回答:3

我正在尝试重新安装data.table:

install.packages("data.table")

我收到以下编译错误:

forder.c: In function ‘range_str’:
forder.c:296: error: expected end of line before ‘update’
make: *** [forder.o] Error 1
ERROR: compilation failed for package ‘data.table’

我从cran获得的包是:data.table_1.12.0.tar.gz哪个应该是与3.5一起使用的版本,与data.table 1.10的问题不同

这个系统是RHEL 6.9 +我也已经通过yum更新了gcc。

R版本也比yum更新了:R-core-3.5.1-1.el6.x86_64 R-core-devel-3.5.1-1.el6.x86_64

我在谷歌上找到的所有内容都与Rtools(Windows)或旧版本1.10有关,这似乎是别的。

r installation package
3个回答
2
投票

您可以在EL6上安装旧版本的data.table。 1.11.4工程;我不确定哪个版本(如果有的话)更新版本。

require(devtools)
install_version("data.table", version = "1.11.4")

有关安装旧版软件包的更多信息:https://support.rstudio.com/hc/en-us/articles/219949047-Installing-older-versions-of-packages


0
投票

在提到的错误消息行中是:

#pragma omp atomic update

这是在版本4.7之前的GCC和RedHat 6.9中显然不可用的功能,我从标准回购获得的最高值目前是4.4.7。

意味着我需要一个更新的编译器,它可以处理这个openmp功能。


0
投票

使用R 3.5.0安装data.table时遇到了同样的错误

在CentOS 6.10(具有gcc和g ++版本4.4.7)上,以下是我能够安装data.table的方法:

  1. yum install devtoolset-6
  2. scl enable devtoolset-6 bash 现在如果你这样做:`which gcc` -v,你应该看到更高的gcc版本
  3. R 启动R 3.5.0
  4. install.packages("data.table") 现在我能够安装data.table
© www.soinside.com 2019 - 2024. All rights reserved.