美文网首页
R包安装的编译问题(unrecognized command l

R包安装的编译问题(unrecognized command l

作者: BINBINCC | 来源:发表于2020-11-19 09:58 被阅读0次

    这两天在安装SingleR 包的时候总是出现编译问题,折腾了一天发现该包是依赖c++14进行编译的,课题组的服务器中的g++版本低,只支持c++11编译。

    一、问题描述

    报错内容:其实还有一个最初的报错,但当时忘记截图了。。。。。。


    报错信息1 报错信息2

    其实是这个问题我们可以在最初源码安装R时就发现,在make install编译完成后会展示一个支持环境,如下图:
    如果系统不支持的话 C++14 compiler后面会是空的

    image.png

    二、问题解决

    1、我的当前环境中gcc和g++的已有版本:

    gcc版本:gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
    g++版本:g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)

    2、方法:升级gcc和g++版本为5.2.0
    操作步骤:

    cd /usr/local/src
    # 下载gcc5.2.0源码
    wget http://ftp.gnu.org/gnu/gcc/gcc-5.2.0/gcc-5.2.0.tar.bz2
    tar -jxvf gcc-5.2.0.tar.bz2
    # 进入gcc目录安装
    cd gcc-5.2.0
    # 下载某些依赖包
    ./contrib/download_prerequisites
    # 创建bulid文件夹
    mkdir build
    cd build
    ../configure --prefix=/usr/local/gcc --enable-languages=c,c++ --disable-multilib
    # 编译安装,此过程耗时较长
    make  -j 4 && make install
    # 修改软连接
    mv /usr/bin/gcc /usr/bin/gcc_bak
    ln -s /usr/local/gcc/bin/gcc /usr/bin/gcc
    mv /usr/bin/g++ /usr/bin/g++_bak
    ln -s /usr/local/gcc/bin/g++ /usr/bin/g++
    # 查看升级后版本
    gcc --verson
    g++ --version
    

    另外,为什么不直接使用yum update安装升级呢,因为我也试过这种方法只能升级到4.8.5,无法升级到5.0版本,所以还是老老实实手动升级吧。

    此外 在编译的时候还会遇到如下警告

    configure: WARNING: neither inconsolata.sty nor zi4.sty found: PDF vignettes and package manuals will not be rendered optimally

    解决方法
    wget http://mirrors.ctan.org/fonts/inconsolata.zip
    unzip inconsolata.zip 
    cd inconsolata/
    sudo cp -Rfp * /usr/share/texmf/
    sudo mktexlsr
    

    相关文章

      网友评论

          本文标题:R包安装的编译问题(unrecognized command l

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