If you start JOE (./bin/jobeditor.sh) on Unix and you get an error like
Can't load library: /tmp/swtlib-32/libswt-pi-gtk.so
Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: no swt-pi-gtk-3655 in java.library.path no swt-pi-gtk in java.library.path /tmp/swtlib-32/libswt-pi-gtk-3655.so: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory Can't load library: /tmp/swtlib-32/libswt-pi-gtk.so
then a library is missing that is required by libswt-pi-gtk-3655.so.
Type
ldd /tmp/swtlib-32/libswt-pi-gtk-3655.so
This should make visible which libraries are missing.
Output Example:
libgtk-x11-2.0.so.0 => (file not found) libgthread-2.0.so.0 => (file not found) libXtst.so.1 => /lib/libXtst.so.1 libXext.so.0 => /lib/libXext.so.0 libX11.so.4 => /lib/libX11.so.4 libc.so.1 => /lib/libc.so.1 libsocket.so.1 => /lib/libsocket.so.1 libnsl.so.1 => /lib/libnsl.so.1 libdl.so.1 => /lib/libdl.so.1 libmp.so.2 => /lib/libmp.so.2 /usr/platform/SUNW,Sun-Blade-100/lib/libc_psr.so.1
Install the missing libraries and try it again.
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
Exception in thread "main" org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed] at org.eclipse.swt.SWT.error(Unknown Source) at org.eclipse.swt.widgets.Display.createDisplay(Unknown Source) at org.eclipse.swt.widgets.Display.create(Unknown Source) at org.eclipse.swt.graphics.Device.<init>(Unknown Source) at org.eclipse.swt.widgets.Display.<init>(Unknown Source) at org.eclipse.swt.widgets.Display.<init>(Unknown Source) at org.eclipse.swt.widgets.Display.getDefault(Unknown Source) at sos.scheduler.editor.app.Editor.main(Editor.java:102)
gtk_init_check() fails if it cannot open a socket to the X Server.
We know two situations in which the connection to the X Server fails:
- You want to start JOE from Windows via SSH
- The X11 tunnel is not established
For example if you use PuTTy then the X11 forwarding is per default off. Navigate in the PuTTy connection settings to Connection->SSH->X11 and activate the checkbox "Enable X11 forwarding". - A local X server is not started
For example you can install Xming as local X server for Windows.
- The X11 tunnel is not established
- You want to start JOE from Ubuntu 16.04 with installed X server libraries via SSH
It seems the SSH client has errors. Install the SSH client again
sudo apt -y install ssh