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]

Reply via email to