前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS/Redhat R包使用新的gcc编译

CentOS/Redhat R包使用新的gcc编译

作者头像
王诗翔呀
发布2021-09-03 12:20:01
5560
发布2021-09-03 12:20:01
举报
文章被收录于专栏:优雅R优雅R

R包在Linux下编译不通过,原因是gcc版本太低怎么办?

一些有C++代码的R包可能会用到一些新的C++特性,需要C++11或者C++14。这个问题通常在CentOS/红帽系统上出现,因为系统稳定的要求,这个系列的系统它的C++版本很低。但请读者前往注意了别自己编译新版本的gcc,然后替换掉系统的。这种操作我试过几次,系统基本上就崩掉了。

正确的解决方式是安装独立的gcc,通过环境变量引用和使用它。

在Root用户下操作:

代码语言:javascript
复制
yum install centos-release-scl
yum install devtoolset-9

然后在你使用R的用户下操作:

代码语言:javascript
复制
# If you use your non-root account to install packages, 
# change /root to /home/your_id in the following command
mkdir -p /root/.R
vi /root/.R/Makevars 

将下面的内容写入打开的文件,然后保存:

代码语言:javascript
复制
CXX11=/opt/rh/devtoolset-9/root/usr/bin/g++ -std=c++11 -fPIC
CXX14=/opt/rh/devtoolset-9/root/usr/bin/g++ -std=c++14 -fPIC

教授正在家忙着赶写一篇学术报告。

  “亲爱的,”他对妻子说:“我的铅笔放在哪儿了?”

  “不正夹在你的耳朵上吗?”妻子回答。

  “没看到我忙得要死,你就不能说得具体一点,铅笔究竟夹在哪只耳朵上了?”教授有些生气了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 优雅R 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档