linux 设置 r新路径,Linux 环境下 R 语言的配置和安装

进行科学计算时,有时会用到R语言作为辅助(计算模块非常多)

但由于服务器版本的R语言版本太老(很多包装不上),自身又没有sudo权限或者root账号,因此选择在本地账号下进行R语言的安装

1.下载并解压缩包

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.tar.gz

2.配置编译

./configure --enable-R-shlib --with-readline=yes --with-libpng=yes --with-blas --prefix=/your/path

命令解释:其中

–enable-R-shlib表示生成libR.so库,这个当需要进行gcc等编译的时候很重要

–with-readline=yes表示用于R shell条件下的调试优化,建议加上

–with-libpng=yes表示可导出png图片

–with-blas表示优化R运算并生成libRblas.so库

–prefix保证最后能完整安装,否则make install会去安装到/usr/lib文件夹下,非root用户没有权限

3.缺失依赖的更新

当系统所需软件不全或版本过低时,依然会报错,一般常见的报错是缺少bzip2, zlib, pcre, curl, xz等

一般方法只要安装以后,将软件头文件,动态链接库文件,可执行文件路径加入编译路径即可,但其中有几个注意点

bzip2安装

修改Makefile文件

CC=gcc 改为

CC=gcc -fPIC

之后再进行

make

make install -prefix=/your/path

pcre安装

直接安装后,配置R报错

checking pcre/pcre.h usability... no

checking pcre/pcre.h presence... no

checking for pcre/pcre.h... no

checking if PCRE version >= 8.20, < 10.0 and has UTF-8 support... no

checking whether PCRE support suffices... configure: error: pcre >= 8.20 library and headers are required

因此安装pcre时,编译有特殊要求

./configure --enable-utf8 --enable-unicode-properties --prefix=/your/path

环境变量

一开始设置LD_LIBRARY_PATH, C_INCLUDE_PATH, CPLUS_INCLUDE_PATH 但不起作用

原因是

C_INCLUDE_PATH(for C header files)和CPLUS_INCLUDE_PATH(for C++ header files)的环境变量是指明头文件的搜索路径,此两个环境变量指明的头文件会在-I指定路径之后,系统默认路径之前进行搜索。LIBRARY_PATH指明库搜索路径,此环境变量指明路径会在-L指定路径之后,系统默认路径之前被搜索。

因此只有通过 -L -I参数加入,才能覆盖系统默认路径

4.最后编译

./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"

即可顺利完成