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"

即可顺利完成

猜你喜欢

转载自blog.csdn.net/FirePanda007/article/details/79941235