無(wú)root權(quán)限Linux下安裝R 3.4.4及其依賴包等環(huán)境配置

最近課題用到的一個(gè)軟件需要運(yùn)行RScript,因此踏入了在Linux服務(wù)器上安裝R的坑,一把辛酸淚,特此記錄一下。

1. 下載并解壓R 3.4.4安裝包

wget https://cran.r-project.org/src/base/R-3/R-3.4.4.tar.gz
tar xavf R-3.4.4.tar.gz
cd R-3.4.4

2. 配置編譯

./configure --enable-R-shlib --with-readline=yes --with-libpng=yes --with-blas --prefix=$your_path
./ 是你當(dāng)前cd到R-3.4.4下的路徑
–enable-R-shlib表示生成libR.so庫(kù),這個(gè)當(dāng)需要進(jìn)行g(shù)cc等編譯的時(shí)候很重要
–with-readline=yes表示用于R shell條件下的調(diào)試優(yōu)化,建議加上
–with-libpng=yes表示可導(dǎo)出png圖片
–with-blas表示優(yōu)化R運(yùn)算并生成libRblas.so庫(kù)
–prefix保證最后能完整安裝,否則make install會(huì)去安裝到/usr/lib文件夾下,非root用戶沒(méi)有權(quán)限

3. 缺失依賴環(huán)境的更新

我在上一步配置編譯的時(shí)候,提示如下:

R依賴包Zlib安裝.1

于是接下來(lái)我安裝了zlib 1.2.11

(1) zlib-1.2.11下載

下載地址:https://www.zlib.net/fossils/,通過(guò)FileZilla上傳到服務(wù)器

(2) 解壓及安裝zlib-1.2.11
tar xzvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=$HOME/packages
make
make install

我直接把zlib-1.2.11安裝在我放R的文件夾下,即下面這種情況:
zlib-1.2.11安裝.2

$HOME用的安裝的路徑

安裝完成:
zlib-1.2.11安裝.3

4. 設(shè)置環(huán)境變量

設(shè)置環(huán)境變量的原因是在安裝R devel的時(shí)候需要找到相應(yīng)組件的位置,具體操作如下:

#切到主目錄
cd
#vim編輯器打開 .bash_profile文件配制環(huán)境
vi .bash_profile
#添加以下路徑
export PATH=$HOME/packages/bin:$PATH
export LD_LIBRARY_PATH=$HOME/packages/lib:$LD_LIBRARY_PATH 
export CFLAGS="-I$HOME/packages/include" 
export LDFLAGS="-L$HOME/packages/lib"
#退出vim編輯器
:wq
#執(zhí)行.bash_profile
source .bash_profile

5.最后編譯

./configure --prefix=/your/path --enable-R-shlib --with-readline=yes --with-libpng=yes --with-blas LDFLAGS="-L/your/path/lib" CPPFLAGS="-I/your/path/include"
這里的/your/path/保持和上面環(huán)境配置時(shí)一樣就行了

References:
1.Linux 環(huán)境下 R 語(yǔ)言的配置和安裝 https://blog.csdn.net/FirePanda007/article/details/79941235

  1. Linux下R3.4.1安裝手冊(cè) https://zhuanlan.zhihu.com/p/28055351

媽蛋。。。在寫完這篇記錄的時(shí)候發(fā)現(xiàn)

checking if bzip2 version >= 1.0.6... no
checking whether bzip2 support suffices... configure: error: bzip2 library and headers are required

微笑臉
下面安裝并配置bzip2

(1)SourceForge下載bzip2-1.0.6

地址為:https://sourceforge.net/projects/bzip2/

(2)解壓并配置
tar xzvf bzip2-1.0.6.tar.gz
cd bzip2-1.0.6
make -f Makefile-libbz2_so
make clean
make
make -n install PREFIX=$HOME/packages
make install PREFIX=$HOME/packages
(3) 再次編譯R
checking if lzma version >= 5.0.3... no
configure: error: "liblzma library and headers are required"

endlessly.........
祝各位好運(yùn)~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容