如何在RHEL7系统上安装R语言copula包并解决GSL相关报错
前置清理
先在R环境中移除残留的失败安装包,无残留可跳过:
remove.packages(c("gsl", "copula"))
配置GSL动态库搜索路径
手动编译的GSL默认安装到/usr/local/lib目录,系统默认未纳入动态库搜索范围,执行以下操作添加路径:
- 写入GSL库路径到系统动态库配置:
sudo echo "/usr/local/lib" > /etc/ld.so.conf.d/gsl.conf
- 刷新系统动态库缓存:
sudo ldconfig
- 验证
libgsl.so.25可被识别:
ldconfig -p | grep libgsl.so.25
有输出则表示配置生效。
配置gsl-config路径
R的gsl包安装时需要调用gsl-config工具,手动编译的该工具默认在/usr/local/bin目录,可在安装R包前先在终端执行以下命令临时指定路径:
export GSL_CONFIG=/usr/local/bin/gsl-config
如需永久生效,可将上述语句添加到ROpen的环境配置文件/opt/microsoft/ropen/3.5.3/lib64/R/etc/Renviron中。
重新安装copula包
回到R环境执行安装命令:
install.packages("copula", dependencies = TRUE)
兼容兜底方案
如果上述操作后仍然报错,说明当前系统版本与最新GSL适配性不足,可先安装适配旧版GSL的历史版本R gsl包,再安装copula即可。
内容的提问来源于stack exchange,提问作者sfusato
相关产品推荐
相关产品推荐

