如何在RedHat里面编译R源码并安装
2016-01-06 22:17
281 查看
为了使用SparkR,决定要在Spark所在的Linux上装上R,结果血泪篇了。主要原因是公司内部的虚机,无法连外网,所以网上很多的直接rpm或者yum的方法都没用,需要自己编译R的源码,中间因为Redhat Enterprise没有给装好gcc,又为了装gcc折腾了半天,终于现在通过了configure,可以make了,赶紧记录下来。
目前看这是第一篇完整的R的安装文章吧。随着spark 1.4之后SparkR的流行,估计会有不少人需要这个东西。而且企业内部的机器一般都不会让你连外网的,那么自己编译就是必须的了。
先是去R的官网,CRAN里面下一个R的源码包,R-3.3.2.tar.gz。然后解压缩到本机上
R的编译,文档写的很简单就是三个命令:
./configure
make
make install
可是configure是个大坑,第一个错是没找到gcc和c++编译器,只好先搞定gcc的安装,需要去找到RH EL6的iso包,把其中的Packages目录搞出来,传到虚机上。然后按照这个步骤安装。
注意这里用的都是32位的包,我自己安装是tab出的x86_64的rpm包,别搞错了。
网上的这个步骤是没有装c++的,而且再次运行configure,又报错说f77没装,看来一下才知道这个是forton的编译器。其实Packages里面都有相应的rpm包,都装上,中间会提示某些依赖没有,再在Packages目录里面找,都装上。
最后configure还是会报两个warning,一个是with-x=yes,一个是with-readline=yes。这两个是生产帮助文档的。不会用到。所以把这两个参数设定成no就ok了。
2016年1月26日更新:为了配合RStudio的安装,在configure的时候还要加上 --enable-R-shlib=yes 来产生 libR.so的包
终于configure通过了,然后就是漫长的make过程。然后就是make install,搞定!
R的命令就在源码目录的bin目录下面。
目前看这是第一篇完整的R的安装文章吧。随着spark 1.4之后SparkR的流行,估计会有不少人需要这个东西。而且企业内部的机器一般都不会让你连外网的,那么自己编译就是必须的了。
先是去R的官网,CRAN里面下一个R的源码包,R-3.3.2.tar.gz。然后解压缩到本机上
R的编译,文档写的很简单就是三个命令:
./configure
make
make install
可是configure是个大坑,第一个错是没找到gcc和c++编译器,只好先搞定gcc的安装,需要去找到RH EL6的iso包,把其中的Packages目录搞出来,传到虚机上。然后按照这个步骤安装。
1. rpm -ihv kernel-headers-2.6.32-279.el6.i686.rpm 2. rpm -ihv glibc-headers-2.12-1.80.el6.i686.rpm 3. rpm -ihv glibc-devel-2.12-1.80.el6.i686.rpm 4. rpm -ihv mpfr-2.4.1-6.el6.i686.rpm 5. rpm -ihv ppl-0.10.2-11.el6.i686.rpm 6. rpm -ihv cpp-4.4.6-4.el6.i686.rpm 7. rpm -ihv cloog-ppl-0.15.7-1.2.el6.i686.rpm 8. 4000 rpm -ihv gcc-4.4.6-4.el6.i686.rpm
注意这里用的都是32位的包,我自己安装是tab出的x86_64的rpm包,别搞错了。
网上的这个步骤是没有装c++的,而且再次运行configure,又报错说f77没装,看来一下才知道这个是forton的编译器。其实Packages里面都有相应的rpm包,都装上,中间会提示某些依赖没有,再在Packages目录里面找,都装上。
rpm -ivh libgfortran-4.4.7-11.el6.x86_64.rpm rpm -ivh gcc-gfortran-4.4.7-11.el6.x86_64.rpm rpm -ivh libstdc++-devel-4.4.7-11.el6.x86_64.rpm rpm -ivh gcc-c++-4.4.7-11.el6.x86_64.rpm
最后configure还是会报两个warning,一个是with-x=yes,一个是with-readline=yes。这两个是生产帮助文档的。不会用到。所以把这两个参数设定成no就ok了。
2016年1月26日更新:为了配合RStudio的安装,在configure的时候还要加上 --enable-R-shlib=yes 来产生 libR.so的包
./configure --with-x=no --with-readline=no --enable-R-shlib=yes
终于configure通过了,然后就是漫长的make过程。然后就是make install,搞定!
R的命令就在源码目录的bin目录下面。
相关文章推荐
- Error when loading the SDK:发现了以元素 'd:skin' 开头的无效内容
- java线程池学习(六)——线程池生命周期管理
- 秒杀多线程第十一篇 读者写者问题
- 如何在Linux中查看所有正在运行的进程
- 红黑树
- 算法(1)-插入排序
- keil uvision4 mdk 快捷键的设置与修改
- iOS网络编程:四、Block方式实现异步
- [编程题] 进制转换
- 向后兼容
- 面向对象<5>__笔记(15)
- Qt学习 之 数据库(支持10种数据库)
- 安装和使用cocoapods
- 在ter中创建公钥私钥步骤
- html编码规范
- HDU2037今年暑假不AC
- 对数据库的恢复技术的认识
- iOS网络编程:三、GET代理方式进行异步请求
- perl-批量修改文件后缀名
- BATCHSQL--GoldenGate Parameter