我已经开始在高性能计算服务器上使用R (R/3.5.1-foss-2018b)。它似乎工作得很好,除非它必须处理NetCDF文件。我正在使用ncdf4包中的nc_open函数来读取NetCDF file.When,我调用了这个函数(不管NetCDF文件的大小),程序就挂起了,我完全失去了对它的控制。然而,在我自己的笔记本电脑上使用相同版本的R,它工作得很好(所以它看起来不是一个R bug)。我认为与集群上安装的模块(依赖项)存在兼容性问题,但我无法找出问题是由哪个模块造成的,以及为什么会出现这个问题。这是我在输入sessionInfo()时得到的结果:
R version 3.5.1 (2018-07-02)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)
>Matrix products: default
BLAS/LAPACK: /mnt/ebinstall/software/OpenBLAS/0.3.1-GCC-7.3.0-2.30/lib/libopenblas_haswellp-r0.3.1.so
locale:
[1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8
[5] LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8
[7] LC_PAPER=en_GB.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_3.5.1我可以使用module list获取当前加载的模块列表:
1) easybuild/software
2) sge/8.5.5
3) GCCcore/7.3.0
4) binutils/2.30-GCCcore-7.3.0
5) GCC/7.3.0-2.30
6) zlib/1.2.11-GCCcore-7.3.0
7) numactl/2.0.11-GCCcore-7.3.0
8) XZ/5.2.4-GCCcore-7.3.0
9) libxml2/2.9.8-GCCcore-7.3.0
10) libpciaccess/0.14-GCCcore-7.3.0
11) hwloc/1.11.10-GCCcore-7.3.0
12) OpenMPI/3.1.1-GCC-7.3.0-2.30
13) OpenBLAS/0.3.1-GCC-7.3.0-2.30
14) gompi/2018b
15) FFTW/3.3.8-gompi-2018b
16) ScaLAPACK/2.0.2-gompi-2018b-OpenBLAS-0.3.1
17) foss/2018b
18) bzip2/1.0.6-GCCcore-7.3.0
19) expat/2.2.5-GCCcore-7.3.0
20) libpng/1.6.34-GCCcore-7.3.0
21) freetype/2.9.1-GCCcore-7.3.0
22) ncurses/6.1-GCCcore-7.3.0
23) util-linux/2.32-GCCcore-7.3.0
24) fontconfig/2.13.0-GCCcore-7.3.0
25) X11/20180604-GCCcore-7.3.0
26) GMP/6.1.2-GCCcore-7.3.0
27) nettle/3.4-foss-2018b
28) libdrm/2.4.92-GCCcore-7.3.0
29) LLVM/6.0.0-GCCcore-7.3.0
30) Mesa/18.1.1-foss-2018b
31) libGLU/9.0.0-foss-2018b
32) pixman/0.34.0-GCCcore-7.3.0
33) libffi/3.2.1-GCCcore-7.3.0
34) gettext/0.19.8.1-GCCcore-7.3.0
35) PCRE/8.41-GCCcore-7.3.0
36) GLib/2.54.3-GCCcore-7.3.0
37) cairo/1.14.12-GCCcore-7.3.0
38) libreadline/7.0-GCCcore-7.3.0
39) Tcl/8.6.8-GCCcore-7.3.0
40) SQLite/3.24.0-GCCcore-7.3.0
41) NASM/2.13.03-GCCcore-7.3.0
42) libjpeg-turbo/2.0.0-GCCcore-7.3.0
43) LibTIFF/4.0.9-GCCcore-7.3.0
44) Java/1.8.0_181(1.8)
45) Tk/8.6.8-GCCcore-7.3.0
46) cURL/7.60.0-GCCcore-7.3.0
47) Python/3.6.6-foss-2018b
48) Szip/2.1.1-GCCcore-7.3.0
49) HDF5/1.10.2-foss-2018b
50) netCDF/4.6.1-foss-2018b
51) GEOS/3.6.2-foss-2018b-Python-3.6.6
52) JasPer/2.0.14-GCCcore-7.3.0
53) PROJ/5.0.0-foss-2018b
54) libgeotiff/1.4.2-foss-2018b
55) GDAL/2.2.3-foss-2018b-Python-3.6.6
56) NLopt/2.4.2-GCCcore-7.3.0
57) libsndfile/1.0.28-GCCcore-7.3.0
58) ICU/61.1-GCCcore-7.3.0
59) UDUNITS/2.2.26-foss-2018b
60) R/3.5.1-foss-2018b我曾经在使用ncdump时遇到过类似的问题,但我在加载这个模块时解决了这个问题:module load netCDF/4.4.1-intel-2016b。
此外,当我添加以下模块: HDF时,我还得到了一条错误消息,指出module load HDF5/1.10.2-foss-2018b库之间存在不匹配。就是这样:
Warning! ***HDF5 library version mismatched error***
The HDF5 header files used to compile this application do not match
the version used by the HDF5 library to which this application is linked.
Data corruption or segmentation faults may occur if the application continues.
This can happen when an application was compiled by one version of HDF5 but linked with a different version of static or shared HDF5 library.
You should recompile the application or check your shared library related settings such as 'LD_LIBRARY_PATH'. You can, at your own risk, disable this warning by setting the environment variable 'HDF5_DISABLE_VERSION_CHECK' to a value of '1'.
Setting it to 2 or higher will suppress the warning messages totally.
Headers are 1.10.1, library is 1.10.2这就是为什么我坚信我的“挂起”问题是由一些模块引起的。有没有人知道什么是解决方案?
发布于 2020-08-01 15:13:41
尝试:
export HDF5_DISABLE_VERSION_CHECK=1 在运行R脚本之前。
您可以使用高于1的值来完全抑制警告。
https://stackoverflow.com/questions/54467773
复制相似问题