CentOS6.5下编译R源码并安装Spark R
不多说,直接上干货!
为了使用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目录搞出来,传到虚机上。
然后按照这个步骤安装。
rpm -ihv kernel-headers-2.6.32-279.el6.i686.rpm
rpm -ihv glibc-headers-2.12-1.80.el6.i686.rpm
rpm -ihv glibc-devel-2.12-1.80.el6.i686.rpm
rpm -ihv mpfr-2.4.1-6.el6.i686.rpm
rpm -ihv ppl-0.10.2-11.el6.i686.rpm
rpm -ihv cpp-4.4.6-4.el6.i686.rpm
rpm -ihv cloog-ppl-0.15.7-1.2.el6.i686.rpm
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了。
为了配合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目录下面。
CentOS6.5下编译R源码并安装Spark R的更多相关文章
- Nginx (一)Windows下编译Nginx源码以及安装 nginx for windows方法步骤
转载自: http://apps.hi.baidu.com/share/detail/11192699#content Nginx介绍: Nginx ("engine x")是一个 ...
- Windows 10 x64 下编译 Hadoop 源码
Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中 ...
- Windows下编译live555源码
Windos下编译live555源码 环境 Win7 64位 + VS2012 步骤 1)源码下载并解压 在官网上下载最新live555源码,并对其进行解压. 2)VS下建立工程项目 新建Win32项 ...
- ubuntu下编译VLC源码
http://blog.csdn.net/beitiandijun/article/details/9225591ubuntu下编译VLC源码 分类: 视频处理 2013-07-02 17:33 57 ...
- Windows,linux下编译qt源码(比较简单)
一.linux下静态编译qt源码 1.取到qt源码并解压到文件夹 2.cd到qt目录下 3.使用configure生成makefile ./configure–prefix /opt/qtstatic ...
- CentOS6.5上编译OpenJDK7源码
本文地址:http://www.cnblogs.com/wuyudong/p/build-openjdk7.html,转载请注明源地址. 采用开源的OpenJDK版本,获取其源码的方式有两种: 通Me ...
- 【转】在Ubuntu下编译Android源码并运行Emulator
原文网址:http://www.mcuos.com/thread-4553-1-1.html 建立编译环境 1.在VirtualBox上安装Ubuntu 2.安装JDK $ sudo apt-ge ...
- mac下编译node源码
看过一篇win7 64x下面编译node的文章,链接地址:编译nodejs及其源码研究 下面学习一下在mac下面如何编译node源码. 过程也挺简单. 1.下载源码. > mkdir nodes ...
- ubuntu18.04.2下编译openjdk9源码
最近在看<深入理解Java虚拟机 第二版>这本书,上面有关于自己编译OpenJDK源码的内容.自己根据书里的指示去操作,花了三天的时间,重装了好几次Ubuntu(还不知道快照这个功能,好傻 ...
随机推荐
- ubuntu16.04安装KDE
由于对KDE界面情有独钟,升级到ubuntu之后,第一件事就是安装kde桌面 命令: add-apt-repository ppa:kubuntu-ppa/backports apt-get upda ...
- SLAM: Orb_SLAM中的ORB特征
原文链接:什么是ORB 关于Orb特征的获取:参考 最新版的OpenCV中新增加的ORB特征的使用 ORB是是ORiented Brief 的简称,对Brief的特定性质进行了改进. ORB的描述在下 ...
- 【sqli-labs】 less18 POST - Header Injection - Uagent field - Error based (基于错误的用户代理,头部POST注入)
这次username和password都进行了输入校验 但是ip和uagent没有校验 当我们用admin admin登陆成功后,就会一条插入语句 由于程序无条件的信任了浏览器的header信息,那么 ...
- Typeclassopedia 阅读笔记:导言与 Functor
Typeclassopedia 阅读笔记 本文是对介绍 Haskell 中类型类(type classes)的文档 Typeclassopedia 的阅读笔记和简短总结,包含此文档中重要的知识点.读者 ...
- 查看占用某端口的进程——netstat、findstr 的使用
netstat 检验本机各端口的网络连接情况 -a 显示所有连接和侦听端口(如Windows共享服务 的135,445端口) -n 不进行IP地址到主机名的解析 -o 显示拥有的与每个连接关联的进 ...
- 团体程序设计天梯赛-练习集-L1-045. 宇宙无敌大招呼
L1-045. 宇宙无敌大招呼 据说所有程序员学习的第一个程序都是在屏幕上输出一句“Hello World”,跟这个世界打个招呼.作为天梯赛中的程序员,你写的程序得高级一点,要能跟任意指定的星球打招呼 ...
- Spring实战(中文4,5版) PDF含源码
Spring实战 读者评价 看了一半后在做评论,物流速度挺快,正版行货,只是运输过程有点印记,但是想必大家和你关注内容,spring 4必之3更加关注的是使用注解做开发,对于初学者还是很有用,但是不排 ...
- vue中用v-for循环出出来的div下面的span不给宽度也能相对于div居中
效果图 1.html <div> <div v-on:mousemove="dataDetails($event, item)" v-on:mouseleave= ...
- NOIP 2016 换教室(期望dp)
第一次做期望dp 并不知道每个阶段的期望之和就是整个的期望之和 所以一直卡在这 期望=代价*概率 然后注意只有申请了才算期望,否则按原来的. 这道题和前几个课程,申请的限制,当前选或不选,有关 这样很 ...
- linux根据进程名字杀死进程
ps -ef | grep procedure_name | grep -v grep | awk '{print $2}' | xargs kill -9 Linux Shell脚本实现根据进程名杀 ...