The new Xalan release contains a fix which makes it compile under Java 1.5: http://issues.apache.org/jira/browse/XALANJ-2147 This is therefore a simple step towards Gentoo's own Bug 69970. Reproducible: Always Steps to Reproduce:
As this is required in order to close Bug 69970, why does it not block it?
Just so you know, you can add bug dependencies / blockers yourself. I've added an ebuild to the Java experimental overlay: http://gentooexperimental.org/svn/java/gentoo-java-experimental/dev-java/xalan/ Works with 1.4, but haven't been able to test with 1.5 yet.
Hi :) I've tried Josh's ebuild (~amd64, JDK 1.5) but it fails: **************************************** xml.compile: [echo] Compiling DTM implementation and utilities [javac] Compiling 151 source files to /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/build/classes [javac] /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/src/org/apache/xml/dtm/DTMException.java:324: warning: non-varargs call of varargs method with inexact argument type for last parameter; [javac] cast to java.lang.Class for a varargs call [javac] cast to java.lang.Class[] for a non-varargs call and to suppress this warning [javac] Throwable.class.getMethod("getCause",null); [javac] ^ [javac] /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/src/org/apache/xml/dtm/DTMException.java:358: warning: non-varargs call of varargs method with inexact argument type for last parameter; [javac] cast to java.lang.Class for a varargs call [javac] cast to java.lang.Class[] for a non-varargs call and to suppress this warning [javac] null); [javac] ^ [javac] /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/src/org/apache/xml/dtm/DTMException.java:363: warning: non-varargs call of varargs method with inexact argument type for last parameter; [javac] cast to java.lang.Object for a varargs call [javac] cast to java.lang.Object[] for a non-varargs call and to suppress this warning [javac] exception = (Throwable) meth.invoke(exception, null); [javac] ^ [javac] /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/src/org/apache/xml/dtm/ref/DTMNodeProxy.java:1462: cannot find symbol [javac] symbol : method setUserData(java.lang.String,java.lang.Object,org.w3c.dom.UserDataHandler) [javac] location: interface org.w3c.dom.Document [javac] return getOwnerDocument().setUserData( key, data, handler); [javac] ^ [javac] /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/src/org/apache/xml/dtm/ref/DTMNodeProxy.java:1475: cannot find symbol [javac] symbol : method getUserData(java.lang.String) [javac] location: interface org.w3c.dom.Document [javac] return getOwnerDocument().getUserData( key); [javac] ^ [javac] /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/src/org/apache/xml/dtm/ref/DTMNodeProxy.java:1682: cannot find symbol [javac] symbol : method lookupNamespaceURI(java.lang.String) [javac] location: interface org.w3c.dom.Element [javac] return getOwnerElement().lookupNamespaceURI(specifiedPrefix); [javac] ^ [javac] /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/src/org/apache/xml/dtm/ref/DTMNodeProxy.java:1809: cannot find symbol [javac] symbol : method lookupPrefix(java.lang.String) [javac] location: interface org.w3c.dom.Element [javac] return getOwnerElement().lookupPrefix(namespaceURI); [javac] ^ [javac] /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/src/org/apache/xml/utils/DOMHelper.java:92: cannot find symbol [javac] symbol : method setFeature(java.lang.String,boolean) [javac] location: class javax.xml.parsers.DocumentBuilderFactory [javac] dfactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); [javac] ^ [javac] /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/src/org/apache/xml/dtm/ref/dom2dtm/DOM2DTMdefaultNamespaceDeclarationNode.java:147: cannot find symbol [javac] symbol : method setUserData(java.lang.String,java.lang.Object,org.w3c.dom.UserDataHandler) [javac] location: interface org.w3c.dom.Document [javac] return getOwnerDocument().setUserData( key, data, handler); [javac] ^ [javac] /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/src/org/apache/xml/dtm/ref/dom2dtm/DOM2DTMdefaultNamespaceDeclarationNode.java:160: cannot find symbol [javac] symbol : method getUserData(java.lang.String) [javac] location: interface org.w3c.dom.Document [javac] return getOwnerDocument().getUserData( key); [javac] ^ [javac] /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/src/org/apache/xml/dtm/ref/dom2dtm/DOM2DTMdefaultNamespaceDeclarationNode.java:371: cannot find symbol [javac] symbol : method lookupNamespaceURI(java.lang.String) [javac] location: interface org.w3c.dom.Element [javac] return getOwnerElement().lookupNamespaceURI(specifiedPrefix); [javac] ^ [javac] /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/src/org/apache/xml/dtm/ref/dom2dtm/DOM2DTMdefaultNamespaceDeclarationNode.java:502: cannot find symbol [javac] symbol : method lookupPrefix(java.lang.String) [javac] location: interface org.w3c.dom.Element [javac] return getOwnerElement().lookupPrefix(namespaceURI); [javac] ^ [javac] /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/src/org/apache/xml/utils/UnImplNode.java:1212: cannot find symbol [javac] symbol : method setUserData(java.lang.String,java.lang.Object,org.w3c.dom.UserDataHandler) [javac] location: interface org.w3c.dom.Document [javac] return getOwnerDocument().setUserData( key, data, handler); [javac] ^ [javac] /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/src/org/apache/xml/utils/UnImplNode.java:1225: cannot find symbol [javac] symbol : method getUserData(java.lang.String) [javac] location: interface org.w3c.dom.Document [javac] return getOwnerDocument().getUserData( key); [javac] ^ [javac] /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/src/org/apache/xml/utils/UnImplNode.java:1436: cannot find symbol [javac] symbol : method lookupNamespaceURI(java.lang.String) [javac] location: interface org.w3c.dom.Element [javac] return getOwnerElement().lookupNamespaceURI(specifiedPrefix); [javac] ^ [javac] /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/src/org/apache/xml/utils/UnImplNode.java:1567: cannot find symbol [javac] symbol : method lookupPrefix(java.lang.String) [javac] location: interface org.w3c.dom.Element [javac] return getOwnerElement().lookupPrefix(namespaceURI); [javac] ^ [javac] Note: * uses or overrides a deprecated API. [javac] Note: Recompile with -Xlint:deprecation for details. [javac] Note: Some input files use unchecked or unsafe operations. [javac] Note: Recompile with -Xlint:unchecked for details. [javac] 13 errors [javac] 3 warnings BUILD FAILED /var/tmp/portage/xalan-2.7.0/work/xalan-j_2_7_0/build.xml:419: Compile failed; see the compiler error output for details. **************************************** And it also gives this error: **************************************** >>> Source unpacked. Could not find package gnu-jaxp !!! ERROR: dev-java/xalan-2.7.0 failed. !!! Function java-pkg_getjar, Line 322, Exitcode 0 !!! Could not find gnujaxp.jar in gnu-jaxp !!! If you need support, post the topmost build error, NOT this status message. **************************************** (Maybe gnu-jaxp should be added as a dependancy?) I did a quick and dirty hack of previous ebuilds that works for me (but doesn't have gnu-jaxp)... I have almost no idea about creating ebuilds so I'm sure someone can do it far better :) Regards, Maciej Zieba
Created attachment 72447 [details] Working (but "dirty") xalan-2.7.0 ebuild This is a simple hack of existing ebuilds... It works for me on JDK1.5 but I believe someone more fitted should do it better :)
*** Bug 113629 has been marked as a duplicate of this bug. ***
Added to CVS. Thanks for reporting!
I'm not convinced that the issue is resolved. Others know much more than I do about this subject, however. The difference might that I'm on the amd64 architecture. >>> emerge (1 of 2) dev-java/xalan-2.7.0 to / >>> md5 files ;-) xalan-2.6.0-r2.ebuild >>> md5 files ;-) xalan-2.6.0-r3.ebuild >>> md5 files ;-) xalan-2.7.0.ebuild >>> md5 files ;-) files/digest-xalan-2.6.0-r2 >>> md5 files ;-) files/digest-xalan-2.6.0-r3 >>> md5 files ;-) files/xalan.script >>> md5 files ;-) files/digest-xalan-2.7.0 >>> md5 src_uri ;-) xalan-j_2_7_0-src.tar.gz >>> Unpacking source... >>> Unpacking xalan-j_2_7_0-src.tar.gz to /var/tmp/portage/xalan-2.7.0/work tar: A lone zero block at 38548 >>> Source unpacked. Buildfile: build.xml BUILD FAILED java.lang.UnsupportedClassVersionError: org/apache/xerces/jaxp/SAXParserFactoryImpl (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at java.net.URLClassLoader.defineClass(URLClassLoader.java:251) at java.net.URLClassLoader.access$100(URLClassLoader.java:55) at java.net.URLClassLoader$1.run(URLClassLoader.java:194) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:187) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274) at java.lang.ClassLoader.loadClass(ClassLoader.java:282) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:93) at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:174) at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:87) at org.apache.tools.ant.util.JAXPUtils.newParserFactory(JAXPUtils.java:114) at org.apache.tools.ant.util.JAXPUtils.getNSParserFactory(JAXPUtils.java:100) at org.apache.tools.ant.util.JAXPUtils.getNamespaceXMLReader(JAXPUtils.java:163) at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:193) at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:140) at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:91) at org.apache.tools.ant.Main.runBuild(Main.java:653) at org.apache.tools.ant.Main.startAnt(Main.java:187) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67) Total time: 0 seconds java.lang.UnsupportedClassVersionError: org/apache/xerces/jaxp/SAXParserFactoryImpl (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at java.net.URLClassLoader.defineClass(URLClassLoader.java:251) at java.net.URLClassLoader.access$100(URLClassLoader.java:55) at java.net.URLClassLoader$1.run(URLClassLoader.java:194) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:187) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274) at java.lang.ClassLoader.loadClass(ClassLoader.java:282) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:93) at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:174) at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:87) at org.apache.tools.ant.util.JAXPUtils.newParserFactory(JAXPUtils.java:114) at org.apache.tools.ant.util.JAXPUtils.getNSParserFactory(JAXPUtils.java:100) at org.apache.tools.ant.util.JAXPUtils.getNamespaceXMLReader(JAXPUtils.java:163) at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:193) at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:140) at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:91) at org.apache.tools.ant.Main.runBuild(Main.java:653) at org.apache.tools.ant.Main.startAnt(Main.java:187) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67) org/apache/xerces/jaxp/SAXParserFactoryImpl (Unsupported major.minor version 49.0) !!! ERROR: dev-java/xalan-2.7.0 failed. !!! Function src_compile, Line 49, Exitcode 1 !!! ant failed !!! If you need support, post the topmost build error, NOT this status message.
(In reply to comment #7) > BUILD FAILED > java.lang.UnsupportedClassVersionError: > org/apache/xerces/jaxp/SAXParserFactoryImpl (Unsupported major.minor version 49.0) This means that you have used 1.5 as your system VM although it is in package.mask. 1.5 by default produces binaries that do not work with 1.4. You can try this: http://dev.gentoo.org/~nichoj/scripts/java-1.5-fixer.