1 Reply Latest reply on Oct 13, 2005 9:20 AM by Gary Cuozzo

    UnsatisfiedLinkError

    fmaredia Newbie

      I have JBoss running on Windows, and need to move it to Linux. I have the following installed on it:
      JDK - 1.5.0_05
      Jboss

      I first thought it was the JDK so I upgraded it to the newest one, and I still get the error. Everything works fine, except one servlet throws the following error:

      javax.servlet.ServletException: Servlet execution threw an exception
      com.at.filter.ATFilter.doFilter(ATFilter.java:56)
      org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)


      root cause

      java.lang.UnsatisfiedLinkError: /usr/java/jdk1.5.0_05/jre/lib/i386/xawt/libmawt.so: libXext.so.6: cannot open shared object file: No such file or directory
       java.lang.ClassLoader$NativeLibrary.load(Native Method)
       java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
       java.lang.ClassLoader.loadLibrary(ClassLoader.java:1647)
       java.lang.Runtime.load0(Runtime.java:769)
       java.lang.System.load(System.java:967)
       java.lang.ClassLoader$NativeLibrary.load(Native Method)
       java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
       java.lang.ClassLoader.loadLibrary(ClassLoader.java:1668)
       java.lang.Runtime.loadLibrary0(Runtime.java:822)
       java.lang.System.loadLibrary(System.java:992)
       sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
       java.security.AccessController.doPrivileged(Native Method)
       java.awt.Toolkit.loadLibraries(Toolkit.java:1509)
       java.awt.Toolkit.<clinit>(Toolkit.java:1530)
       java.awt.Color.<clinit>(Color.java:250)
       sun.misc.Unsafe.ensureClassInitialized(Native Method)
       sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
       sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
       java.lang.reflect.Field.acquireFieldAccessor(Field.java:917)
       java.lang.reflect.Field.getFieldAccessor(Field.java:898)
       java.lang.reflect.Field.getLong(Field.java:527)
       java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1559)
       java.io.ObjectStreamClass.access$600(ObjectStreamClass.java:47)
       java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:381)
       java.security.AccessController.doPrivileged(Native Method)
       java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:373)
       java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:268)
       java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:504)
       java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1546)
       java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
       java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693)
       java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
       java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
       java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
       java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
       java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
       java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
       java.util.ArrayList.readObject(ArrayList.java:592)
       sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       java.lang.reflect.Method.invoke(Method.java:585)
       java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:919)
       java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1813)
       java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
       java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
       java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
       java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
       java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
       java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
       java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
       java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
       java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
       java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
       java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
       net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:85)
       com.at.struts.action.booking.reports.Report.execute(Report.java:72)
       org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
       org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
       org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
       org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
       javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
       javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
       com.at.filter.ATFilter.doFilter(ATFilter.java:56)
       org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
      
      


        • 1. Re: UnsatisfiedLinkError
          Gary Cuozzo Newbie

          I think you need to install the Xwindows libraries. You DON'T need to install all of Xwindows, just the support libraries. On my SuSE laptop, that file is part of the xorg-x11-libs RPM package. On our Debian server, the package appears to be libxext6.

          If you don't actually have Xwindows installed, you may want to start JBoss using headless mode of the JDK. There are other posts in the forums with how to do that.

          Hope that helps,
          gary.