我正在研究ROMS建模。我刚刚在linux集群上安装了Openmpi。我还相应地调整了LD_LIBRARY_PATH。我现在面临一个独特的问题。
当我从bash shell给出mpirun -np 4 ./oceanG ocean.in时,它运行模型很好。但是,批处理文件中的相同命令无法将./oceanG链接到netcdff5.so。
我收到以下错误消息。
./ oceanG:加载共享库时出错:libnetcdff.so.5:无法打开共享对象文件:没有这样的文件或目录 ./oceanG:加载共享库时出错:libnetcdff.so.5:无法打开共享对象文件:没有这样的文件或目录 ./oceanG:加载共享库时出错:libnetcdff.so.5:无法打开共享对象文件:没有这样的文件或目录 ./oceanG:加载共享库时出错:libnetcdff.so.5:无法打开共享对象文件:没有这样的文件或目录
我的PBS文件如下
#!/bin/bash
#$ -N Upwelling_test
#$-l qname=long_4.q
#$ -cwd
#$ -pe mpich 4
LD_LIBRARY_PATH=/opt/intel/openmpi/lib:/opt/intel/netcdf4.1.3/lib:/opt/intel/Compiler/11.0/081/lib/intel64:
/opt/intel/openmpi/bin/mpirun -np 4 ./oceanG ocean.in
寻找这个奇怪的解决方案
答案 0 :(得分:0)
您应该尝试在export
之前添加LD_LIBRARY_PATH=/opt/intel/...
。
如果没有export
关键字,脚本中设置的变量将不会传递给脚本启动的任何进程。
答案 1 :(得分:0)
我有同样的问题。甚至我把export
放在LD_LIBRARY_PATH
之前。
export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
它在交互模型中有效,但是通过提交到集群时出现错误“加载共享库时出错:libnetcdff.so.5:无法打开共享库文件:没有这样的文件或目录”。