最近課題用到的一個(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í)候,提示如下:

于是接下來(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的文件夾下,即下面這種情況:
$HOME用的安裝的路徑

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