免费版R Server安装xgboost报CXX14未定义错误如何解决
xgboost安装报错解决步骤
报错核心为R编译配置未定义C14对应的编译器参数,xgboost新版本依赖C14标准完成编译,因此触发安装失败。可按以下顺序尝试解决:
1. 确认系统C++编译器符合要求
当前环境为RedHat系Linux,需保证gcc版本≥5(支持C++14标准)
- 执行命令查看gcc版本:
gcc --version - 若版本过低或未安装,执行系统级安装(需管理员权限):
sudo yum install gcc-c++
2. 配置R编译规则
方案A:全局永久配置
- 先创建R配置文件夹(不存在的情况下):
mkdir -p ~/.R - 编辑
~/.R/Makevars文件,写入以下内容:
CXX14 = g++ CXX14FLAGS = -O2 -fPIC CXX14STD = -std=gnu++14
- 重启R会话后重新执行
install.packages("xgboost")即可。
方案B:单会话临时配置(无需修改配置文件)
在R控制台先执行以下代码,再执行安装命令:
Sys.setenv(CXX14 = "g++") Sys.setenv(CXX14FLAGS = "-O2 -fPIC") Sys.setenv(CXX14STD = "-std=gnu++14") install.packages("xgboost")
3. 无系统权限备选方案
如果没有管理员权限升级gcc,可安装无需C++14支持的旧版本xgboost:
install.packages("devtools") devtools::install_version("xgboost", version = "1.3.2.1", repos = "http://cran.us.r-project.org")
内容的提问来源于stack exchange,提问作者Mary Nastase
相关产品推荐
相关产品推荐

