0

When I qsub a script that runs a java program I get this error:

Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/java/jdk1.6.0_16/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:1778) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1674) 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:1778) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1695) 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 java.awt.Toolkit.loadLibraries(Toolkit.java:1592) at java.awt.Toolkit.(Toolkit.java:1614) at java.awt.Font.(Font.java:210) at savant.settings.BrowserSettings.(BrowserSettings.java:37) at savant.util.NetworkUtils.getSeekableStreamForURI(NetworkUtils.java:185) at savant.data.sources.BAMDataSource.(BAMDataSource.java:62) at IReckon.WholeGenomeExecution.main(WholeGenomeExecution.java:208)

However, when I qrsh into a node and run the script I don't get an error.

I'm running qsub like this: qsub -cwd -V

Maybe there is some environment variable I need to set, but wouldn't -V handle that?

Tyler F
  • 83
  • 1
  • 5

1 Answers1

0

Where is libXtst.so.6 located on that system?

Most likely, grid engine uses a different LD_LIBRARY_PATH than when you log in manually. Looks like a bit odd installation.

For grid engine use, I would also recommend avoiding the use of AWT.

Has QUIT--Anony-Mousse
  • 76,138
  • 12
  • 138
  • 194
  • I could not for the life of me find where it is installed, if it is at all. I suspect that the application was trying to load AWT based on whether X11 is available. Unsetting the DISPLAY variable in the job script seems to solve the problem. The application has a CLI interface. Bizarre. – Tyler F Mar 02 '13 at 02:47
  • Have you tried `locate libXtst.so.6`? But it might indeed not exist if there is no X11 installed on the grid hosts (although for remote displays it still makes sense to have some libraries there) – Has QUIT--Anony-Mousse Mar 02 '13 at 11:00
  • If it was installed, it wasn't in any of the usual places and not in the java library path. Another thing I tried was to copy the library to a directory that was visible to the node and in the java library path. That fixed the problem as well. I hadn't tried locate, but it looks like it wasn't installed now that I've run it. Thanks! – Tyler F Mar 05 '13 at 00:16