Does not start on Linux 64bit: UnsatisfiedLinkError: SWT
Desktop search application
Brought to you by:
qforce
I just unpacked DocFetcher-1.6 Portable on some samba mount and tried to start from a Linux box on the command line. Instead of starting, the program stopped with UnsatisfiedLinkError complaining about swt-gtk (sorry, again). The Linux is Ubuntu 12.04 Precise 64 bit. The Java is openjdk-6 64bit.
$ ./DocFetcher.sh
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at net.sourceforge.docfetcher.Main.main(Main.java:32)
Caused by: java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
Can't load library: /home/cstim/mnt/DocFetcher/lib/swt/linux-64/libswt-gtk-3735.so
Can't load library: /home/cstim/mnt/DocFetcher/lib/swt/linux-64/libswt-gtk.so
no swt-gtk-3735 in java.library.path
no swt-gtk in java.library.path
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
at net.sourceforge.docfetcher.util.AppUtil.showStackTraceInOwnDisplay(AppUtil.java:455)
...
$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.04.1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
$ uname -a
Linux stimmch-t1600 3.2.0-35-generic #55-Ubuntu SMP Wed Dec 5 17:42:16 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Any further information I should provide?
Anonymous
Sorry, I solved it myself: Turns out I didn't have write permission in the Samba folder where DocFetcher is installed. Starting ./DocFetcher.sh while having write permission in that folder worked fine.
(Note for the great developers of this excellent software: This is something you could explicitly check for during startup..)
Thanks, I'll see what I can do about it.