AWS EC2实例无法安装data.table R包问题求助
解决AWS EC2实例上安装data.table包的编译错误
嘿,看了你的错误信息,核心问题其实很明确——你的系统缺少R的开发依赖包,这才是导致编译失败的根源,和你设置的MakeVars文件关系不大。
先看错误里的两个关键提示:
Warning: R include directory is empty -- perhaps need to install R-devel.rpm or similar
fatal error: R.h: No such file or directory
R.h是R开发所需的核心头文件,默认不会随基础R包安装,必须单独安装R-devel包才能获得。
第一步:安装R开发依赖包
从你的系统路径x86_64-redhat-linux-gnu来看,你用的是RedHat/CentOS这类基于RPM的系统,直接用包管理器安装即可:
# 对于CentOS/RHEL 7及以下版本 sudo yum install R-devel # 对于CentOS/RHEL 8+或Fedora系统 sudo dnf install R-devel
第二步:确认MakeVars文件的正确性(可选)
你提到的MakeVars文件没起作用,大概率是文件名或路径不对:R读取的是小写的Makevars(注意最后是s小写),且必须放在用户主目录的.R文件夹下,也就是正确路径是~/.R/Makevars(对应你的用户就是/home/user1/.R/Makevars)。
如果确实需要指定gcc版本,建议把内容调整为(保证C和C++编译器版本一致):
CC = /usr/bin/gcc64 CXX = /usr/bin/g++64 SHLIB_OPENMP_CFLAGS = -fopenmp SHLIB_OPENMP_CXXFLAGS = -fopenmp
第三步:重新安装data.table
完成上述步骤后,再回到R里执行安装命令:
install.packages("data.table")
这样应该就能顺利编译安装了。
内容的提问来源于stack exchange,提问作者ML_Enthousiast
相关产品推荐
相关产品推荐

