Opened 9 years ago

Closed 9 years ago

#614 closed defect (fixed)

OpenJUMP fails to launch

Reported by: darkblueb Owned by: live-demo@…
Priority: critical Milestone:
Component: OSGeoLive Keywords: 4b5
Cc:

Description

Exception in thread "main" java.lang.UnsatisfiedLinkError?: Can't load library: /usr/lib/jvm/java-6-openjdk/jre/lib/i386/xawt/libmawt.so

at java.lang.ClassLoader?.loadLibrary(ClassLoader?.java:1649) at java.lang.Runtime.load0(Runtime.java:787) at java.lang.System.load(System.java:1022) at java.lang.ClassLoader?$NativeLibrary?.load(Native Method) at java.lang.ClassLoader?.loadLibrary0(ClassLoader?.java:1750) at java.lang.ClassLoader?.loadLibrary(ClassLoader?.java:1667) at java.lang.Runtime.loadLibrary0(Runtime.java:840) at java.lang.System.loadLibrary(System.java:1047) at sun.security.action.LoadLibraryAction?.run(LoadLibraryAction?.java:67) at sun.security.action.LoadLibraryAction?.run(LoadLibraryAction?.java:47) at java.security.AccessController?.doPrivileged(Native Method) at java.awt.Toolkit.loadLibraries(Toolkit.java:1614) at java.awt.Toolkit.<clinit>(Toolkit.java:1636) at java.awt.Component.<clinit>(Component.java:568) at javax.swing.ImageIcon?.<clinit>(ImageIcon?.java:78) at com.vividsolutions.jump.workbench.ui.images.IconLoader?.icon(IconLoader?.java:44) at com.vividsolutions.jump.workbench.JUMPWorkbench.<clinit>(JUMPWorkbench.java:80)

Could not find the main class: com.vividsolutions.jump.workbench.JUMPWorkbench. Program will exit.

Change history (7)

comment:1 Changed 9 years ago by johanvdw

Not sure if this is the best solution, but if java is forced to be sun java it does start: eg JAVA_HOME=/usr/lib/jvm/java-6-sun openjump works

comment:2 Changed 9 years ago by hamish

fwiw Sun's Java is the only one installed on the disc. Open-JDK is removed.

comment:3 in reply to:  1 ; Changed 9 years ago by hamish

Replying to johanvdw:

Not sure if this is the best solution, but if java is forced to be sun java it does start: eg JAVA_HOME=/usr/lib/jvm/java-6-sun openjump works

will adding this to the end of install_openjump.sh:

echo "JAVA_HOME=/usr/lib/jvm/java-6-sun" >> "$USER_HOME/.profile"

cause any trouble for any other Java projects on the disc?

if it would, I'd suggest editing openjump.desktop and changing the Exec= line to be like

Exec=JAVA_HOME=/usr/lib/jvm/java-6-sun openjump

and hope for the best.

Other Java projects (notably gvSIG) use JAI as well, do they have the same problem?

Hamish

comment:4 Changed 9 years ago by hamish

oops, forgot to export it

echo "JAVA_HOME=/usr/lib/jvm/java-6-sun" >> "$USER_HOME/.profile"
echo "export JAVA_HOME" >> "$USER_HOME/.profile"

comment:5 in reply to:  2 Changed 9 years ago by johanvdw

Replying to hamish:

fwiw Sun's Java is the only one installed on the disc. Open-JDK is removed.

I'm no specialist, but I'm pretty sure that in that case specifying JAVA_HOME is not needed anymore.

comment:6 in reply to:  3 Changed 9 years ago by jsanz

Replying to hamish:

... Other Java projects (notably gvSIG) use JAI as well, do they have the same problem?

Probably yes,

gvSIG directly calls the java binary of /usr/lib/jvm/java-6-sun/bin on its starting script.

As gvSIG is installed using a debian package, the sun JVM is marked as a dependency so if you remove sun-java6-jre from the disk the gvSIG package should be marked to be removed as well.

gvSIG dev team has plans to support OpenJDK (and probably get rid of JAI) but it won't be ready until 2.0 release, I'm afraid.

Best.

comment:7 Changed 9 years ago by darkblueb

Resolution: fixed
Status: newclosed

fixed in rc9

Note: See TracTickets for help on using tickets.