centOS 6环境下安装R-3.3.2及Rstudio-server

【编译R语言】

1、下载安装R语言

# 下载R-3.3.2
$ wget https://cran.r-project.org/src/base/R-3/R-3.3.2.tar.gz# 安装R-3.3.2
$ tar -zxvf R-3.3.2.tar.gz
$ cd R-3.3.2# 安装到默认目录下   --perfix=/opt/R 或 /usr/local/lib64/R 
$ ./configure --prefix=/opt/R --with-readline=yes --with-x=yes --enable-R-shlib
$ make
$ make install# 配置R环境变量
$ vim /etc/profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/R/lib64/R/lib/
#或 /usr/local/lib64/R/lib64/R/lib
export PATH=/opt/R/lib64/R/bin:$PATH
# (保存修改:Esc --> Shift+: --> wq)

2、测试R语言是否编译成功

R
R version 3.3.2 (2016-10-31) -- "Sincere Pumpkin Patch"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.Natural language support but running in an English localeR is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.q()

如果centOS6中依赖版本过低,在R语言编译过程中就会出现各种错误;常见的集中错误及解决方案如下:

Error1:--with-readline=yes (default) and headers/libs are not available

$ yum install readline-devel

Error2:–with-x=yes (default) and X11 headers/libs are not available

$ yum install libXt-devel

Error3: make 过程中会出现类似错误:checking if XXX version >= 1.0.6... no, 可以参考:

  • http://blog.sina.com.cn/s/blo...

  • http://pj.freefaculty.org/blo...

# step1:下载安装zlib
$ wget http://www.zlib.net/zlib-1.2.11.tar.gz
$ tar zlib-1.2.11.tar.gz
$ cd zlib-1.2.11.tar.gz
$ ./configure --prefix=/opt/packages
$ make
$ make install# step2:下载和安装bzip2:
# bzip2不是标准的GNU包,根据下载的安装文件的说明文档,执行以下命令:
$ wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
$ tar xzvf bzip2-1.0.6.tar.gz
$ cd bzip2-1.0.6
$ make -f Makefile-libbz2_so
$ make clean
$ make
$ make install PREFIX=/opt/packages
# 注意:这里下载完bzip2后,需要修改Makefile文件,在CFLAGS这个变量后面添加:-fPIC,否则后面安装R的时候会报错。# step3:安装xz包:
$ wget http://tukaani.org/xz/xz-5.2.2.tar.gz
$ tar xzvf xz-5.2.2.tar.gz
$ cd xz-5.2.2
$ ./configure --prefix=/opt/packages
$ make -j3
$ make install# step4:安装pcre包:
$ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
$ tar xzvf pcre-8.38.tar.gz
$ cd pcre-8.38
$ ./configure --enable-utf8 --prefix=/opt/packages
$ make -j3
$ make install# step5:安装curl包:
$ wget --no-check-certificate http://curl.haxx.se/download/curl-7.51.0.tar.gz
$ tar -zxf curl-7.51.0.tar.gz
$ cd curl-7.51.0
$ ./configure --prefix=/opt/packages
$ make -j3
$ make install# step6:设置安装好的包的环境变量(!这步最重要):
export PATH=/opt/packages/bin:PATH
export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/opt/packages/lib/
export CFLAGS="-I/opt/packages/include"
export LDFLAGS="-L/opt/packages/lib"
# 前两个是安装R的“make”过程需要用到的,后两个是“configure”过程需要用到的。

Error4: /opt/packages/lib/libbz2.a: could not read symbols: Bad value

参考网站:

  • http://www.blogjava.net/haha0...

  • http://www.cnblogs.com/qq7829...

# step1:删除原先安装的库(这三个东西一环扣一环,真麻烦) 
# 如果发现 libbz2.a: could not read symbols: Bad value
# 就应该把/opt/packages/lib中的libbz2.a删掉
# 进入解压缩的zlib-1.2.8目录,用make clean命令清理一下。
# 同样,/opt/packages/libz.a: could not read symbols
# 操作同上,删掉libz.a,把bzip2-1.0.4目录的编译文件清理一下。# step2:修改zlib-1.2.8的Makefile文件 
# 把gcc的编译参数加上 -fPIC
$ cd zlib-1.2.8
$ vi Makefile
# 原文:CFLAGS=-O3 -DUSE_MMAP
# 修改为:CFLAGS=-O3 -DUSE_MMAP -fPIC
# (保存修改:Esc --> Shift+: --> wq)
make clean #清理之前的编译,再按错误三的方法安装# step3:修改bzip2-1.0.6的Makefile文件 
$ cd bzip2-1.0.6
$ vi Makefile #按下面改
# CC=gcc -fPIC
# AR=ar
# RANLIB=ranlib
# LDFLAGS=
# BIGFILES=-D_FILE_OFFSET_BITS=64
# CFLAGS=-fPIC -Wall -Winline -O2 -g (BIGFILES)
# (保存修改:Esc --> Shift+: --> wq)
$ make clean #清理之前的编译,再按错误3的方法安装

Error5:

  • /usr/bin/ld: warning: liblzma.so.5, needed by ../../lib/libR.so, not found (try using -rpath or -rpath-link)

  • ../../lib/libR.so: undefined reference to `lzma_code@XZ_5.0'

  • ../../lib/libR.so: undefined reference to `lzma_raw_encoder@XZ_5.0'

  • ../../lib/libR.so: undefined reference to `lzma_stream_decoder@XZ_5.0'

  • ............................

  • ../../lib/libR.so: undefined reference to `pcre_study'

  • ../../lib/libR.so: undefined reference to `lzma_stream_encoder@XZ_5.0'

  • collect2: 错误:ld 返回 1

  • make[3]: * [R.bin] 错误 1

  • make[3]: Leaving directory `/home/lingang/R-3.3.2/src/main'

  • make[2]: * [R] 错误 2

  • make[2]: Leaving directory `/home/lingang/R-3.3.2/src/main'

  • make[1]: * [R] 错误 1

  • make[1]: Leaving directory `/home/lingang/R-3.3.2/src'

  • make: * [R] 错误 1

# 解决方法:加环境变量,上面错误是因为没加环境变量
$ set #看是否有LD_LIBRARY_PATH=/opt/packages/lib/
# 如没有输入如下:
$ export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/opt/packages/lib/

Error6:

  • /usr/bin/install: 无法获取"NEWS.pdf" 的文件状态(stat): 没有那个文件或目录

  • /usr/bin/install: 无法获取"NEWS.pdf" 的文件状态(stat): 没有那个文件或目录

  • make: * [install-sources2] 错误 1

参考网址:http://www.cnblogs.com/luomgf...

# 解决方法:
$ vim doc/Makefile
# 将18、19行改为下面这样,即去掉NEWS.pdf
INSTFILES2 = NEWS.rds NEWSNON_SVN_INSTFILES = FAQ RESOURCES NEWS
INSTFILES2 = NEWS.rds NEWS
# 19 #NEWS.pdf
# 20 NON_SVN_INSTFILES = FAQ RESOURCES NEWS
# 21 #NEWS.pdf
# 22 ## generated later.
# (保存修改:Esc --> Shift+: --> wq)

[编译Rstudio-Server]

不同的系统环境,有对应不同的安装方式与安装包,安装前先确定系统环境
确定系统版本为Cent OS(5.4+)
可以参照:https://www.rstudio.com/produ...

$ cat /etc/issue
CentOS release 6.4 (Final)

确认以下动态链接库文件已安装,
libcairo.so.2 libcrypto.so.6 libgfortran.so.1 libpango-1.0.so.0 libpangocairo-1.0.so.0 libssl.so.6 openssl098e-0.9.8e
否则可以按如下方式安装:

$ yum install libcrypto.so.6
$ yum install libgfortran.so.1
$ yum install openssl098e-0.9.8e
$ yum install libcairo.so.2
$ yum install libpango-1.0.so.0
$ yum install libpangocairo-1.0.so.0
$ yum install libssl.so.6

安装rstudio server并验证:

# 安装rstudio server
$ wget https://download2.rstudio.org/rstudio-server-rhel-1.0.44-x86_64.rpm
$ rpm -Uvh --nodeps rstudio-server-rhel-1.0.44-x86_64.rpm# 验证是否成功
$ rstudio-server verify-installation
rstudio-server stop/waiting
rstudio-server start/running
# 如果在验证安装是否正确时,仍然会报某些动态链接库文件,无法找到如:
# 可能会报libgfortran.so.1无法找到,但/usr/lib64目录下有更高版本的
# libgfortran.so.3.0.0时,可以下命令来解决:
$ ln –s /usr/lib64/ libgfortran.so.3.0.0 /usr/lib64/ libgfortran.so.1# 配置Rstudio-server端口
$ vi /etc/rstudio/rserver.conf 
www-port=8787
rsession-which-r=/opt/R/lib64/R/bin/R
#(保存修改:Esc --> Shift+: --> wq)

创建linux用户,并访问Rstudio-server:

# 创建账户
$ usradd test
# 创建账户密码
$ passwd test

用户创建成功后访问:http://XXX.XX.XXX.XX:8787/,登陆以上账号,即可使用Rstudio-server。

同样,Rstudio-server编译过程中也会出现一些错误,解决方式如下:

Error1:Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

$ yum -y install epel-release
$ vi /etc/yum.repos.d/epel.repo
#<把 #name baseurl  改为 name  #baseurl> 例如:
# #name=Extra Packages for Enterprise Linux 6 - basearch
# baseurl=http://download.fedoraproject.org/pub/epel/6/basearch
# 改为:
# name=Extra Packages for Enterprise Linux 6 - basearch
# #baseurl=http://download.fedoraproject.org/pub/epel/6/basearch
# (保存修改:Esc --> Shift+: --> wq)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260125.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DJ轮回舞曲网下载教程

该网站网址为&#xff1a;http://www.92cc.com/ 昨天有网友问我这个网站能不能下载。我告诉他&#xff0c;只要能在线试听的就能下载 于是今天出个临时教程 教大家如何获取试听的音乐URL。 第一步找到试听的网址&#xff0c;如&#xff1a; http://www.92cc.com/p97206.html 第…

【DP】【Asia - Harbin - 2010/2011】【Permutation Counting】

【题目描述】Given a permutation a1, a2,...aN of {1, 2,..., N}, we define its E-value as the amount of elements where ai > i. For example, the E-value of permutation {1, 3, 2, 4} is 1, while the E-value of {4, 3, 2, 1} is 2. You are requested to find h…

三丰三坐标编程基本步骤_三丰三坐标CRYSTA APEX S776

日本三丰MITUTOYO从1934年成立至今&#xff0c;专力致于精密测量仪器的研发和生产&#xff0c;在七十多年中&#xff0c;日本三丰量具MITUTOYO已成为世界最大综合测量仪器的制造商&#xff0c;它生产的产品包括千分尺&#xff0c;卡尺&#xff0c;千分表&#xff0c;高度尺&…

oracle的文件后缀名,转:数据文件的扩展名是ora,dbf,dat的,有什么区别?

只是通过扩展名来标识文件的类型而已&#xff0c;对于数据文件不管是ora/dat/dbf&#xff0c;都是一样的&#xff0c;没有什么区别。.dbf-数据文件&#xff0c; .tmp-临时文件&#xff0c;.log-重作日志文件(redo log file)&#xff0c; .ctl-控制文件.ora-参数文件&#xff0c…

Unity3D研究院之Android同步方法读取streamingAssets

版本Unity5.3.3 Android 小米pad1 首先非常感谢 守着阳光 同学在下面的留言。让我解决了一个大的谜团。。 开始我知道 StreamingAssets 路径是这个 path “jar:file://” Application.dataPath “!/assets/”; 文档在这里&#xff1a; http://docs.unity3d.com/Manual/Strea…

Codeforces Round 261 Div.2 D Pashmak and Parmida's problem --树状数组

题意&#xff1a;给出数组A&#xff0c;定义f(l,r,x)为A[]的下标l到r之间&#xff0c;等于x的元素数。i和j符合f(1,i,a[i])>f(j,n,a[j])&#xff0c;求有多少对这样的(i,j). 解法&#xff1a;分别从左到右&#xff0c;由右到左预处理到某个下标为止有多少个数等于该下标&…

JQuery AJAX提交中文乱码的解决方案

$.post(doSearch.action, {page : page,vip : vip,searchType : searchType,subtype : subtype,type : type,contentType: "application/x-www-form-urlencoded; charsetutf-8", keyword : keyword}, function(data) //回传函数{var val;}); 解决这个中文乱码问题&am…

列举ospf的5种报文类型_危险品货物各种包装类型以及装箱技巧

对于危险货物来说&#xff0c;其危险性的大小除与货物的本身性质有关外&#xff0c;还与货物的包装方式密切相关。因而&#xff0c;危险货物进箱条件的确定&#xff0c;也必须考虑到货物的包装方法。一、集装箱内径20GP内径&#xff1a;长5.8M*宽2.34M*高2.34M40GP内径&#xf…

linux一行多个命令行,如何在一行中运行多个Linux命令

对于每个Linux管理员来说&#xff0c;熟练使用各种命令行是他们的特性。但对于普通用户来说&#xff0c;可能还是有难度&#xff0c;您需要继续练习Linux命令&#xff0c;并找到使该任务更有效的方法。实现这个特定目标的一种方法是学习一些技巧&#xff0c;这些技巧可以提高发…

Java 数组基础

数组 数组&#xff08;Array&#xff09;&#xff1a;相同类型数据的集合。 定义数组 方式1&#xff08;推荐&#xff0c;更能表明数组类型&#xff09; type[] 变量名 new type[数组中元素的个数]; 比如&#xff1a; int[] a new int[10]; 数组名&#xff0c;也即引用a&…

车辆跟驰模型matlab代码实现_MATLAB——考虑驾驶员特性及前车速度的快速路模型...

重发一下之前误删的一篇~目前大多数元胞自动机模型并没有考虑前车速度&#xff0c;大多数同向行驶的模型中车辆都是处在一个完全跟车的状态&#xff0c;无论前车是加速还是减速&#xff0c;后车驾驶者都只是根据自己的车速判断是减速跟驰还是变换车道来寻求寻求更合理的行驶状态…

linux nc命令

参考 :http://www.linuxso.com/command/nc.html NC 全名 Netcat (网络刀)&#xff0c;作者是 Hobbit && ChrisWysopal。因其功能十分强大&#xff0c;体积小巧而出名&#xff0c;又被大家称为“瑞士军刀”。nc - TCP/IP swiss army knife nc 常用于溢出、反向链接、上传…

收藏一些自己认为好的网站或博客

月光博客 seo每天一贴 虎嗅网 李岩的博客 中邮阅读网&#xff0c;专门看电子期刊的&#xff0c;很不错的免费阅读期刊网。 seay web安全技术博客: http://www.cnseay.com 陆陆续续编辑中... 转载于:https://www.cnblogs.com/caoyuanzhanlang/archive/2013/01/05/2846086.html

shell 判断字符串相等_编程小短文:Bash子字符串还在用==?试试=~性能瞬间飙升100倍...

引言Bash 是 Linux 系统下钦定的 shell。你可以通过cat /etc/shells查看当前系统支持的 shell 种类。Bash 不但是系统管理员与内核交互的利器&#xff0c;且是一种语言&#xff0c;可以编写大多数系统的自动化脚本&#xff0c;用于简化运维工作。今天我们学习一个知识点&#x…

linux系统联网命令,Linux系统常用的网络命令及使用方法

Linux系统常用的网络命令及使用方法Linux是一套免费使用和自由传播的类Unix操作系统&#xff0c;是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。下面小编整理了Linux系统常用的网络命令及使用方法&#xff0c;希望对大家有帮助!1、pingping命令工作在O…

Xss Csrf 简介

一、Js在web的执行环境 1.直接触发 •在HTML页中插入<script></script>脚本标记。JS嵌入到HTML中的两种方式&#xff1a; •1&#xff09;直接嵌入<script>标签 <script language“javascript”> document.write(“hello world!”); </script> •…

Cracking the Coding Interview 5.2

Given a(decimal -e.g. 3.72)number that is passed in as a string, print the binary representation. If the number can not be represented accurately in binary, print "ERROR" 整数部分&#xff1a; 对2取余&#xff0c;然后向右移动一位&#xff0c;重复直到…

python的render函数_带函数return的Flask render_模板

TL&#xff1b;DR在这种情况下&#xff0c;我想我会选择使用我现在的4个选项我将介绍4种选择&#xff0c;其中一些可能比其他更可行。在如果您担心execute表示的代码存在代码重复(DRY)&#xff0c;您可以简单地定义一个两个路由都可以调用的函数&#xff1a;def execute():# ex…

Google开源Leak Finder——用于检测内存泄漏的JavaScript工具

近日&#xff0c;Google开源了Leak Finder&#xff0c;这款工具可以查看JavaScript应用的堆&#xff0c;进而发现内存泄漏。 作为一门垃圾收集语言&#xff0c;JavaScript并不会出现常见的内存泄露情况&#xff0c;特别是像C等语言中所见到的那种。但如果依旧将内存分配给那些不…

linux 定时访问文件夹,Linux定时同步文件夹

-v, --verbose 详细模式输出-q, --quiet 精简输出模式-c, --checksum 打开校验开关&#xff0c;强制对文件传输进行校验-a, --archive 归档模式&#xff0c;表示以递归方式传输文件&#xff0c;并保持所有文件属性&#xff0c;等于-rlptgoD-r, --recursive 对子目录以递归模式处…