If xerces somehow ends in a state where it doesn't work, then the circular dependency with xerces using ant and ant using xerces, makes it troublesome to recompile xerces. I realize that the problem in this case is my own doing, since I mix 1.4 and 1.5 VMs. I presume I must have emerged xerces while suns 1.5 VM was set. But for less experienced users I imagine this kind of problem is hard to fix. Reproducible: Always Steps to Reproduce: 1. switch to suns 1.5 VM 2. emerge xerces 3. switch to blackdown 1.4.2 4. any ant build will fail, including trying to reemerge xerces. Actual Results: >>> Unpacking Xerces-J-src.2.6.2.tar.gz to /var/tmp/portage/xerces-2.6.2-r2/work tar: A lone zero block at 19572 * Applying xerces-2.6.2-r2-gentoo.patch ... [ ok ] * Applying xerces-2.6.2-javadoc.patch ... [ ok ] >>> 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:184) at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:131) at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:91) at org.apache.tools.ant.Main.runBuild(Main.java:658) at org.apache.tools.ant.Main.startAnt(Main.java:188) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55) 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:184) at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:131) at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:91) at org.apache.tools.ant.Main.runBuild(Main.java:658) at org.apache.tools.ant.Main.startAnt(Main.java:188) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55) org/apache/xerces/jaxp/SAXParserFactoryImpl (Unsupported major.minor version 49.0) !!! ERROR: dev-java/xerces-2.6.2-r2 failed. !!! Function src_compile, Line 49, Exitcode 1 !!! Compile failed. !!! If you need support, post the topmost build error, NOT this status message. Expected Results: This is actually what I would expect, but one could hope for a bit more help on how to fix it. bash-2.05b$ emerge info PORTAGE_GPG_DIR is invalid. Removing gpg from FEATURES. Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.11-gentoo-r6 i686) ================================================================= System uname: 2.6.11-gentoo-r6 i686 AMD Athlon(tm) XP 2000+ Gentoo Base System version 1.4.16 dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.11 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.16 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -mfpmath=sse -mmmx -m3dnow -msse -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -mfpmath=sse -mmmx -m3dnow -msse -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks fixpackages parallel-fetch sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.du.se/pub/os/gentoo http://vlaai.snt.ipv6.utwente.nl/pub/os/linux/gentoo/" LC_ALL="da_DK" LINGUAS="dk da da_DK en en_US" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnow 3dnowext X acpi alsa apache2 arts avi bash-completion berkdb bitmap-fonts bzlib cdparanoia cdr crypt cscope curl dvd dvdr eds emboss encode fam firefox foomaticdb fortran ftp gd gdbm ggi gif gpm gstreamer icq imagemagick imap imlib jabber java jpeg junit kde libedit libg++ libwww mad mikmod mmx mmx2 mmxext motif mozilla mp3 mpeg msn mysql mysqli ncurses nlsnvidia ogg oggvorbis opengl oscar pam pcntl pdflib php png qt quicktime readline samba sdl spell sse ssl svga tcpd tetex tiff truetype truetype-fonts type1-fonts unicode usb vcd vorbis wmf xml xml2 xmms xv zlib linguas_dk linguas_da linguas_da_DK linguas_en linguas_en_US userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LDFLAGS
Remove everything java you have installed and start again with the 1.4 jdk. The byte code produced by the 1.5 compiler is not compatible with 1.4 so as you said this is your doing. We are currently testing the solution to the 1.5 problem and until then the 1.5 jdk stays package.masked. So do not set 1.5 as the system vm and next time please think twice when filing bugs about package.masked packages. If you want to help out testing, please join #gentoo-java and contact axxo or see one of the 1.5 metabugs for more info.