我在集群 (centos) 中尝试运行一个程序 (pw.x),该程序需要加载三个模块:intel、impi 和 quantum-espresso。现在,我收到一条错误消息,提示
pw.x: error while loading shared libraries: libfftw3.so.3: cannot open shared object file: No such file or directory
因此,我运行了一个ldd pw.x
命令来检查发生了什么,然后我发现:
linux-vdso.so.1 => (0x00007fff81583000)
...
libmkl_scalapack_ilp64.so => /opt/intel/compilers_and_libraries_2019.4.243/linux/mkl/lib/intel64_lin/libmkl_scalapack_ilp64.so (0x00007fe15c6ea000)
libfftw3.so.3 => Not found
...
根据给出的指示这里,我尝试设置 LD_LIBRARY_PATH 变量并将其从作业脚本内部导出,如下所示,但没有奏效。
export LD_LIBRARY_PATH=/lib64:"$LD_LIBRARY_PATH"
(因为缺少的 libfftw3.so.3 库位于 /lib64/ 中)。当我检查 $LD_LIBRARY_PATH 时,它成功添加了 /lib64 部分,但我仍然收到相同的错误。我的问题是此错误的原因是什么?这是集群的问题吗(所以我需要 root 权限才能修复它)?还是无需 root 权限即可修复的问题?