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(还不知道快照这个功能,好傻 ...
随机推荐
- 说说web缓存-强缓存、协商缓存
网上关于WEB缓存的文章很多,今天汇总一下. 为什么要用缓存 一般针对静态资源如CSS,JS,图片等使用缓存,原因如下: 请求更快:通过将内容缓存在本地浏览器或距离最近的缓存服务器(如CDN),在不影 ...
- springboot 的 @Async
/** * Created by zhiqi.shao on 2018/4/3. */ @EnableAsync @Configuration public class TaskPoolConfig ...
- 01 DOS常用命令
有时候没有可视化窗口,命令行对文件进行操作更方便快捷 cmd 命令弹出 dir 查看当前所在目录下的文件 ctrl+c 退出 \a 显示隐藏文件 cd /改变到根目录 dir /a 显示隐藏文件 di ...
- Java核心技术读书笔记01
Volume I Chapter 1 An Introduction to Java • 1.1 Java as a Programming Platform• 1.2 The Java ‘Whi ...
- salt 批量添加route路由
安装net-tools包 因为其余机器没有网络,使用rpm包安装,并添加缺省路由. [root@web1 base]# tree . ├── add-route.sls ├── files │ └ ...
- 如何用PYTHON的CGIHTTPSERVER模块模拟POST请求?
这次又要逼真一点点,可以弄POST请求啦. 在WEB根目录下新建cgi-bin目录(据说是规模要求),然后运行命令: python -m CGIHTTPServer CGI-BIN目录下,form.p ...
- Python学习-生成器 - Generator
简单来说,generator是一个能够返回迭代器对象的函数. yield的使用: 在python中,当你定义一个函数,使用了yield关键字时,这个函数就是一个生成器,它的执行会和其他普通的函数有很多 ...
- 【微信小程序】:小程序,新场景
前言: 我们频繁进入的地方,是场景. 手机.是场景:浏览器.是场景.事实上,微信,也是场景-- 微信要做的是占领很多其它用户时间.占领很多其它应用场景.占领很多其它服务入口.这是商业本质想去垄断要做的 ...
- APP漏洞自动化扫描专业评测报告(上篇)
一.前言 随着Android操作系统的快速发展,运行于Android之上的APP如雨后春笋般涌现.由于一些APP的开发者只注重APP业务功能的实现,对APP可能出现安全问题不够重视,使得APP存在较多 ...
- UI 经常用法总结之--- UIWindow UIView (不断更新中)
UIWindow (UIView) 1.创建一个uiwindow对象 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScr ...