Package: sun-java5-jre
Version: 1.5.0-13-1
Severity: normal
I ran into an issue trying to use the newer FOP (0.94) from apache in my
webapp, that runs using the sun-java5-jre and tomcat5.5 from debian.
When the page that uses FOP is loaded I get this exception using
sun-java5-jre:
java.lang.UnsatisfiedLinkError:
/usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/libawt.so: Can't load
IA 32-bit .so on a IA 32-bit platform
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:993)
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)
org.apache.fop.util.ColorUtil.initializeColorMap(ColorUtil.java:523)
org.apache.fop.util.ColorUtil.<clinit>(ColorUtil.java:56)
org.apache.fop.fo.expr.NCnameProperty.getColor(NCnameProperty.java:52)
org.apache.fop.fo.properties.ColorProperty$Maker.convertProperty(ColorProperty.java:80)
org.apache.fop.fo.properties.PropertyMaker.make(PropertyMaker.java:442)
org.apache.fop.fo.properties.PropertyMaker.make(PropertyMaker.java:392)
org.apache.fop.fo.properties.PropertyMaker.get(PropertyMaker.java:299)
org.apache.fop.fo.PropertyList.get(PropertyList.java:174)
org.apache.fop.fo.StaticPropertyList.get(StaticPropertyList.java:72)
org.apache.fop.fo.PropertyList.get(PropertyList.java:154)
org.apache.fop.fo.properties.CommonBorderPaddingBackground.<init>(CommonBorderPaddingBackground.java:147)
org.apache.fop.fo.PropertyList.getBorderPaddingBackgroundProps(PropertyList.java:577)
org.apache.fop.fo.pagination.Region.bind(Region.java:64)
org.apache.fop.fo.pagination.RegionBody.bind(RegionBody.java:56)
org.apache.fop.fo.FObj.processNode(FObj.java:125)
org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:320)
org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:185)
org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1072)
org.apache.xml.serializer.TreeWalker.startNode(TreeWalker.java:357)
org.apache.xml.serializer.TreeWalker.traverse(TreeWalker.java:143)
org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:389)
com.foo.bar$LineItem.generateCertificateOfAuthenticity(bar.java:1389)
com.foo.baz.generateCertificatesOfAuthenticity(baz.java:1155)
com.foo.qux.handleRequest(qux.java:80)
com.foo.quux.doGet(quux.java:1493)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
com.foo.CacheHttpServlet.service(CacheHttpServlet.java:119)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
After some digging, I found out the actual error message has been lost
due to a bug in 1.5.0.10, so I dug around and found an older jdk on
sun's site, installed that, and reloaded the same page. That time I got
this error:
java.lang.UnsatisfiedLinkError:
/home/andy/upstream/SDK/jdk/jre/lib/i386/libawt.so: libmlib_image.so:
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:1668)
java.lang.Runtime.loadLibrary0(Runtime.java:822)
java.lang.System.loadLibrary(System.java:993)
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)
org.apache.fop.util.ColorUtil.initializeColorMap(ColorUtil.java:523)
org.apache.fop.util.ColorUtil.<clinit>(ColorUtil.java:56)
org.apache.fop.fo.expr.NCnameProperty.getColor(NCnameProperty.java:52)
org.apache.fop.fo.properties.ColorProperty$Maker.convertProperty(ColorProperty.java:80)
org.apache.fop.fo.properties.PropertyMaker.make(PropertyMaker.java:442)
org.apache.fop.fo.properties.PropertyMaker.make(PropertyMaker.java:392)
org.apache.fop.fo.properties.PropertyMaker.get(PropertyMaker.java:299)
org.apache.fop.fo.PropertyList.get(PropertyList.java:174)
org.apache.fop.fo.StaticPropertyList.get(StaticPropertyList.java:72)
org.apache.fop.fo.PropertyList.get(PropertyList.java:154)
org.apache.fop.fo.properties.CommonBorderPaddingBackground.<init>(CommonBorderPaddingBackground.java:147)
org.apache.fop.fo.PropertyList.getBorderPaddingBackgroundProps(PropertyList.java:577)
org.apache.fop.fo.pagination.Region.bind(Region.java:64)
org.apache.fop.fo.pagination.RegionBody.bind(RegionBody.java:56)
org.apache.fop.fo.FObj.processNode(FObj.java:125)
org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:320)
org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:185)
org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1072)
org.apache.xml.serializer.TreeWalker.startNode(TreeWalker.java:357)
org.apache.xml.serializer.TreeWalker.traverse(TreeWalker.java:143)
org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:389)
com.foo.bar$LineItem.generateCertificateOfAuthenticity(bar.java:1389)
com.foo.baz.generateCertificatesOfAuthenticity(baz.java:1155)
com.foo.qux.handleRequest(qux.java:80)
com.foo.quux.doGet(quux.java:1493)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
com.foo.CacheHttpServlet.service(CacheHttpServlet.java:119)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
So it appears that java isn't finding it's own libmlib_image library:
[EMAIL PROTECTED]:/usr/lib/jvm/java-1.5.0-sun$ ldd
/usr/lib/jvm/java-1.5.0-sun/jre/lib/i386/libawt.so
libmlib_image.so => not found
libjvm.so => not found
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7ee3000)
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7edf000)
libjava.so => not found
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7d97000)
/lib/ld-linux.so.2 (0x80000000)
It appears this is the case upstream as well?
[EMAIL PROTECTED]:/usr/lib/jvm/java-1.5.0-sun$ ldd
/home/andy/upstream/SDK/jdk/jre/lib/i386/libawt.so
libmlib_image.so => not found
libjvm.so => not found
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7f06000)
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7f02000)
libjava.so => not found
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7dba000)
/lib/ld-linux.so.2 (0x80000000)
Running the same page with sun-java6-jre packages fixes this problem, as
it appears it can find the library:
[EMAIL PROTECTED]:/usr/lib/jvm/java-6-sun$ ldd
/usr/lib/jvm/java-6-sun/jre/lib/i386/libawt.so
libmlib_image.so =>
/usr/lib/jvm/java-6-sun/jre/lib/i386/libmlib_image.so (0xb7e83000)
libjvm.so => not found
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7e52000)
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7e4e000)
libjava.so => /usr/lib/jvm/java-6-sun/jre/lib/i386/libjava.so
(0xb7e29000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7ce1000)
/lib/ld-linux.so.2 (0x80000000)
libjvm.so => not found
libjvm.so => not found
libverify.so =>
/usr/lib/jvm/java-6-sun/jre/lib/i386/libverify.so (0xb7cd4000)
libnsl.so.1 => /lib/i686/cmov/libnsl.so.1 (0xb7cbc000)
libjvm.so => not found
Is there anything that can be done for Java5? I'd prefer not to upgrade
our production environment due to this bug. :)
Thanks for your help, and let me know if you need more information.
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.21-2-686 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages sun-java5-jre depends on:
ii debconf [debconf-2.0] 1.5.14 Debian configuration management sy
ii java-common 0.26 Base of all Java packages
ii locales-all [locales] 2.6.1-1+b1 GNU C Library: Precompiled locale
ii sun-java5-bin 1.5.0-13-1 Sun Java(TM) Runtime Environment (
sun-java5-jre recommends no packages.
-- debconf information:
* shared/accepted-sun-dlj-v1-1: true
sun-java5-jre/jcepolicy:
sun-java5-jre/stopthread: true
shared/error-sun-dlj-v1-1:
* shared/present-sun-dlj-v1-1:
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]