美文网首页
2021-04-20 R包安装中Error: C++14 sta

2021-04-20 R包安装中Error: C++14 sta

作者: xiaoguolaile | 来源:发表于2021-04-20 21:58 被阅读0次

    搞了一天多,终于搞好了,查了很多资料,这个应该是编译出错!需要高版本GCC,在这里我用的GCC7.4.0

    说说解决方法吧,参考https://blog.csdn.net/Damonyugg/article/details/112481346
    但是代码不一样,因为要根据自己的环境来调整代码,千万不要复制,复制是错的

    centos7环境下

    修复方法
    在终端运行以下命令

    第一步

    mkdir ~/.R
    vim ~/.R/Makevars
    CXX14FLAGS=-O3 -march=native -mtune=native -fPIC
    CXX14=g++
    ##主要就是在home目录下,建一个.R 的目录;
    ##然后在这个.R目录下建一个文件,里边键入两行内容,在这个位置大家应该都一样,不同的地方在第二步
    
    

    第二步,指定gcc编译器版本7

    ## 需要在home下运行以下命令,先别运行,先别运行,先别运行,往下看,
    ## 其中“/gcc/7.3.0”是你自己gcc的位置,不要硬搬复制,具体位置查看方法我在后方图片中详细说明了
    ## 切记!切记!切记!“/gcc/7.3.0/”是你自己gcc的位置,下边只是个例子,大部分人运行都会错的
    
     export PATH=/gcc/7.3.0/bin/:$PATH 
     export LD_LIBRARY_PATH=/gcc/7.3.0/lib64/:$LD_LIBRARY_PATH
    
    注:
    查看自己gcc版本
    路径:which gcc
    版本:gcc -v
    

    我用的学校的(上交大)服务器,服务器上预编译了很多可用module(模块),
    我根据这些模块加载高版本编译语言gcc 7.4.0,一步一步截图记录。
    如果自己的计算机,可以自己安装高版本gcc并根据教程进行编译,在此不再赘述。
    简要步骤:查看模块module avail--> 加载模块 module load XXX(模块名称)--> 查看加载模块module list --> 查看模块位置which gcc --> 修改export内容

    #查看预装了那些模块
    module avail
    
    #选用并加载模块
    module load gcc/7.4.0-gcc-4.8.5  #我选的这个gcc版本
    
    #查看模块是否被加载
    module list
    
    ##查看gcc位置
    which gcc #会优先显示加载模块的地址
    
    ##查看gcc版本
    gcc -v
    

    用module avail查看

    image.png

    可以看到有很多版本的gcc

    image.png

    我选的是gcc/7.4.0-gcc-4.8.5,然后module load,再然后查看是否load成功,即module list

    image.png

    查看位置,用于替换上边/gcc/7.3.0/

    image.png

    因此,所以,so,我个人上述命令是

    export PATH=/lustre/opt/cascadelake/linux-centos7-x86_64/gcc-4.8.5/gcc-7.4.0-4kdemuwlzds2ofpkkz7yytgi7kyojuvz/bin/:$PATH 
    #注意观察仔细哦,我的地址这么长,最后是包含gcc的bin,实际情况根据你自己的地方来,最好cd过去看一下,看看bin的位置,如下图
    
     export LD_LIBRARY_PATH=/lustre/opt/cascadelake/linux-centos7-x86_64/gcc-4.8.5/gcc-7.4.0-4kdemuwlzds2ofpkkz7yytgi7kyojuvz/lib64/:$LD_LIBRARY_PATH
    #理所当然,我的第二句就变成这样了,千万别硬搬复制,自己根据自己地址来
    
    image.png

    /lustre/opt/cascadelake/linux-centos7-x86_64/gcc-4.8.5/gcc-7.4.0-4kdemuwlzds2ofpkkz7yytgi7kyojuvz/就是我gcc模块安装目录,包括bin和lib64.
    我折腾了好久,都是复制别人命令,唉,折腾了一天,记录一下,下次不再犯错,不要再复制粘贴

    相关文章

      网友评论

          本文标题:2021-04-20 R包安装中Error: C++14 sta

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