libXtst.so.6:无法打开共享对象文件:没有此文件或目录

libXtst.so.6:无法打开共享对象文件:没有此文件或目录

更新:经过多次 qsub 后,我注意到当主机名为 opt### 时,它似乎可以工作,但对于主机名为不同拓扑 int### 的其他节点,它却不行。我与集群管理员讨论过这个问题,他说“不知何故,该库仅安装在 opt* 节点上,而没有安装在其他节点上。这不应该发生(所有节点上的安装都设计为相同)。现在已修复。”它现在工作正常,无需设置环境 PATH 或 LD_LIBRARY_PATH。

我编写了一个 CSH 脚本,用于运行名为 fiji-linux64 的 Java 应用程序。我已在专用于编译代码的集群节点中成功执行了 CSH 脚本,但当将同一脚本作为作业 (qsub) 提交到集群并发送到众多可用节点之一时,该脚本失败。我在日志文件中收到以下错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: /netapp/home/username/bin/java/linux-amd64/jdk1.6.0_20/jre/lib/amd64/xawt/libmawt.so: libXtst.so.6: cannot open shared object file: No such file or directory        
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1699)
    at java.lang.Runtime.load0(Runtime.java:770)
    at java.lang.System.load(System.java:1003)
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1720)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1028)
    at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.awt.NativeLibLoader.loadLibraries(NativeLibLoader.java:38)
    at sun.awt.DebugHelper.<clinit>(DebugHelper.java:29)
    at java.awt.Component.<clinit>(Component.java:560)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at fiji.Main.<clinit>(Main.java:272)

然后我想我可能需要设置环境变量 PATH 和 LD_LIBRARY_PATH,所以我在工作的集群计算机中 echo $PATH 和 echo $LD_LIBRARY_PATH,并将这些路径添加到 I qsub 的 csh 脚本中,如下所示:

setenv LD_LIBRARY_PATH /opt/intel/mkl/10.0.1.014/lib/em64t:/opt/intel/fce/10.1.017/lib:/opt/intel/cce/10.1.017/lib

setenv PATH /ccpr1/sge6/bin/lx24-amd64:/usr/kerberos/bin:/opt/intel/fce/10.1.017/bin:/opt/intel/cce/10.1.017/bin:/usr/local/bin:/bin:/usr/bin:/netopt/bin:/netapp/home/username/bin

但是,即使设置了 PATH 和 LD_LIBRARY_PATH 变量,我仍然会收到与上述相同的错误。这是类路径问题吗?还是必须在其他集群节点上安装某些东西?

相关内容