美文网首页R语言 入门到精通
Linux上安装R-3.3.0遇到缺失包的解决方法

Linux上安装R-3.3.0遇到缺失包的解决方法

作者: 果蝇的小翅膀 | 来源:发表于2020-04-18 12:47 被阅读0次

    R是统计学中常用的分析和画图工具,作为一个做生信分析的,自然免不了用到这个东西。跟其他语言类似,R的版本更新需要自己手动安装。以前从source包安装R很容易,只需要常规的configuremakemake install就可以。最近尝试在服务器集群上安装新版本(R-3.3.0)的时候发现问题:

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

    看问题描述貌似bzip2版本太老了,新的R-3.3.0不能用,于是就自己下了个bzip2 v1.0.6版本来装,装完后还是同样的报错提示。于是上google搜索,终于搜到一篇遇到同样类似问题的文章(http://pj.freefaculty.org/blog/?p=315),并且该文还附带了解决方法,以下内容便是基于对该文章的总结得到的。

    简单来说,就是从16年开始,R的新版本去除了一些原来包含在安装包里的包,并默认这些包已经安装在你的系统里,这时候,如果你用的是自己本地较新的linux/mac/windows版本,默认已经装好这些包,即使没有也能够很快安装或者更新这些包。但是,如果你是在服务器集群上,没有管理员权限,需要将这些包先安装在自己的目录下,然后才能调用,而关键的问题就是调用时的环境变量如何设置。

    根据这篇博文给出的解决方法,首先新建个目录用来安装所有需要装的包(比如:/HOME/packages),然后将需要安装的软件包都装到这个目录下,并设置好环境变量(这个过程最关键),之后再configuremakemake installl安装R-3.3.0就可以了,其中还有一些细节问题下面会提到。安装R-3.3.0过程中需要安装的包主要有:bzip2、xz、pcre和curl,该博文还提到了zlib,不过可能我的服务器上zlib已经更新过了,安装过程中并没有报错。

    1. 下载和安装bzip2:

    bzip2不是标准的GNU包,根据下载的安装文件的说明文档,执行以下命令:

     cd ~/src
     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=/HOME/packages
    注意:这里下载完bzip2后,需要修改Makefile文件,在CFLAGS这个变量后面添加:-fPIC,否则后面安装R的时候会报错。
    
    

    2.安装xz包:

     cd ~/src
     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=/HOME/packages
     make -j3
     make install
    

    3.安装pcre包:

     cd ~/src
     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=/HOME/packages
     make -j3
     make install
    

    4.安装curl包:

     cd ~/src
     wget --no-check-certificate https://curl.haxx.se/download/curl-.47.1.tar.gz
     tar xzvf curl-7.47.1.tar.gz
     cd curl-7.47.1
     ./configure --prefix=/HOME/packages
     make -j3
     make install
    

    5.设置安装好的包的环境变量(!这步最重要):

     export CFLAGS="-I/HOME/packages/include"
     export LDFLAGS="-L/HOME/packages/lib"
    

    前两个是安装R的“make”过程需要用到的,后两个是“configure”过程需要用到的。

    6.最后就是安装R-3.3.0:

     cd ~/src/R-3.3.0
     mkdir builddir
     cd builddir
     ./configure --prefix=/HOME/packages/R-3.3.0
     make
     make install
    

    等待安装完成,就可以开始愉快地使用新的R了...

    相关文章

      网友评论

        本文标题:Linux上安装R-3.3.0遇到缺失包的解决方法

        本文链接:https://www.haomeiwen.com/subject/rgevvhtx.html