代码之家  ›  专栏  ›  技术社区  ›  Anthony

在R中运行INLA模型时出现错误消息“找不到版本`CXXABI_1.3.8'”

  •  0
  • Anthony  · 技术社区  · 2 年前

    我知道这个问题已经被问过很多次了,但我的情况非常特殊:我使用的Linux集群没有root用户,但只能使用“module load gcc”“module load mkl”“module loadR3.3/mkl”等命令来加载库。

    最近,我尝试在该集群上的帐户上安装mxnet,之后一切似乎都正常,但后来我使用“模块负载R3.3/mkl”而不是“模块加载R3.2/mkl)从R3.2切换到R3.2,但现在当我尝试加载像stringi这样的R包时,它说

    文库(stringi), 动态加载中出错(文件,DLLpath=DLLpath,…): 无法加载共享对象'/home/hpc/pr74ze/ru37wof2/R/x86_64-pc-linux-gnu-library/3.3/strinni/libs/x 86_64/stringi.so': /usr/lib64/libstdc++.so.6:找不到版本“CXXABI_1.3.8”(/home/hpc/pr74ze/ru37wof2/R/x86需要 _64台linux gnu库/3.3/stringi/libs/x86_64/stringi.so) 错误:stringi的包或命名空间加载失败

    我记得我以前试过加载gsl

    module list
    Currently Loaded Modulefiles:
     1) admin/1.0     3) intel/16.0   5) mpi.intel/5.1   7) R/3.3mkl   9) git/latest  11) gsl/1.16  
     2) tempdir/1.0   4) mkl/11.3     6) lrz/default     8) nano/2.2  10) gcc/4.9
    

    如果我运行以下

    echo $LD_LIBRARY_PATH
        /usr/lib64:/lrz/mnt/sys.x86_64/compilers/java/jdk1.7.0_51/jre/lib/amd64/server:/usr/lib64:/lrz/mnt/sys.x86
        _64/compilers/java/jdk1.7.0_51/jre/lib/amd64/server:/lrz/sys/libraries/gsl/1.16/lib:/lrz/sys/compilers/gcc
        /4.9.3/lib64:/lrz/sys/compilers/gcc/4.9.3/lib:/lrz/sys/applications/R/3.3.1_MKL/lib64/R/lib/x86_64:/lrz/sy
        s/intel/impi/5.1.3.181/lib64:/lrz/sys/intel/studio2016_u4/compilers_and_libraries_2016.4.258/linux/mkl/lib
        /intel64:/lrz/sys/intel/studio2016_u4/debugger_2016/libipt/intel64/lib:/lrz/sys/intel/studio2016_u4/compil
        ers_and_libraries_2016.4.258/linux/compiler/lib/intel64
    

    如果我尝试安装RcppZiggurat

    * installing *source* package ‘RcppZiggurat’ ...
    ** package ‘RcppZiggurat’ successfully unpacked and MD5 sums checked
    ** libs
    *** arch - x86_64
    icpc -I/lrz/sys/applications/R/3.3.1_MKL/lib64/R/include -I/lrz/sys/applications/R/3.3.1_MKL/lib64/R/include/x86_64 -DNDEBUG -I. -I../inst/include -I/usr/local/include -I"/home/hpc/pr74ze/ru37wof2/R/x86_64-pc-lin
    ux-gnu-library/3.3/Rcpp/include" -I"/home/hpc/pr74ze/ru37wof2/R/x86_64-pc-linux-gnu-library/3.3/RcppGSL/include"   -fpic  -O3  -c RcppExports.cpp -o RcppExports.o
    In file included from /home/hpc/pr74ze/ru37wof2/R/x86_64-pc-linux-gnu-library/3.3/RcppGSL/include/RcppGSL.h(25),
                     from RcppExports.cpp(4):
    /home/hpc/pr74ze/ru37wof2/R/x86_64-pc-linux-gnu-library/3.3/RcppGSL/include/RcppGSLForward.h(26): catastrophic error: cannot open source file "gsl/gsl_vector.h"
      #include <gsl/gsl_vector.h>
                                  ^
    
    compilation aborted for RcppExports.cpp (code 4)
    

    但是,我应该如何着手找出问题所在呢?

    0 回复  |  直到 7 年前
        1
  •  0
  •   Dirk is no longer here    7 年前

    注意3.3隐藏在 /home/hpc/pr74ze/ru37wof2/R/x86_64-pc-linux-gnu-library/3.3/stringi/libs/x 86_64/stringi.so --你可能是在3.2以下建造的,所以它位于下面 /home/hpc/pr74ze/ru37wof2/R/x86_64-pc-linux-gnu-library/3.2

    你可以通过设置自己的 .libPaths() ,直接或通过环境变量--您可能需要 ~/R/library 看见 help(Startup) 详细信息。