【编译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 locale

R 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)

centOS 6环境下安装R-3.3.2及Rstudio-server的更多相关文章

  1. ios中的.dylib和.a lib有什么区别?

    我知道Objectivec中的编译和运行时是什么,但是我想知道是什么画了这两个库之间的界限?他们的目的是什么,除了陈述一个是静态的而另一个是动态的?我们何时需要一个而不是另一个?

  2. xamarin.ios – ShareKit与MonoTouch如何?

    有人可以验证ShareKit实际上是否可用于MonoTouch并指导我完成使其工作所需的步骤?解决方法您首先从getsharekit.com下载还是使用ShareKit2.0?

  3. ios – iPhone崩溃日志不能正确地符号化并且是双重间隔的

    任何建议超过欢迎.谢谢.解决方法当这件事发生在我身上时,它只是我通过电子邮件收到的日志.如果我记得,至少有一些是在.msg文件中,我不得不把它们拿出来.它可能是Exchange编码更改.如果你显示不可见的字符,你可能会看到每个字符之间的东西.您可以找到并替换它们以删除它们或更改编辑器中的编码.

  4. ios – Xcode 7 beta 2:LaunchScreen.storyboard无法打开文档

    我在两个不同的Mac(iMac和MacBookpro)上收到这个错误.不知道为什么人们不能再现它,但我需要一些帮助.在运行XX优胜美地10.10.4的Mac上运行Xcode7beta2(15六月’15).甚至无法编译和运行我的项目..我从创建菜单创建了一个视图应用程序项目,就是这样.编辑:我试图删除并重新添加storyboard文件(也可以打开Main.storyboard插件),我仍然得到相同的

  5. ios – 为具有多个目标和不同平台的项目编写Podfile

    如何让CocoaPods成功整合到我的项目和iOS/Mac目标?我已经阅读了Podfile文档,但发现它在这方面缺乏.解决方法得到它了!从我的每个目标和运行的pod安装中删除libPods-xxxx.a文件,再次执行了我的目标集成.

  6. ios – 在/usr/lib/system/libcache.dylib中,缺少必需的架构armv6

    在试图为iphoneos编写一个虚拟程序时,Xcode4,gcc似乎没有超出初始的sysroot目录如果我把sysroot,以下作品,但感觉非常干酪,而且不可伸缩.这里发生了什么?

  7. iOS中的CocoaPods是什么?

    任何人都可以详细说明iOS开发中的CocoaPods.我似乎无法理解它们是什么.提前致谢.解决方法CocoaPods是我在最近的iOS应用程序开发中发现的最好的东西之一.我用它来获取最新的Github开源项目作为框架和lib到我的项目中.最好的部分是它将自动管理依赖lib,因此无需拖放文件并下载文件夹blaablaaa只需一个简单的代码’podinstall即可!

  8. 为你的 Swift Packages 命名

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  9. Swift 2/iOS 9 – libz.dylib找不到

    我在我的新的Swift2.0项目中使用一些来自google的外部代码,在早期版本中需要“libz.dylib”。更新到新的XCode/新的SDK后。

  10. android – 用我非常简单的calabash测试用例不断得到错误“HTTPClient :: ReceiveTimeoutError”

    我是calabash-android测试自动化库的新手.我花了两天时间来理解这个问题没有成功:(我正在使用calabash-android版本0.8.0,我按照文档pre-definedsteps进行测试.我的测试很简单,只需等待登录界面(这是一个包含id为“email_field”的输入字段的活动),输入用户名和密码.这是我在功能文件中的步骤:当我使用命令calabash-android运行my

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部