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.pswp.cn/news/260125.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260125.shtml
英文地址,請注明出處:http://en.pswp.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 對子目錄以遞歸模式處…