Using Mandriva 2007.0 x86_86 $ rpm -q jdk jdk-1.6.0_02-fcs
I see 1.5 is minimum on Sun's stuff, but I don't know what the significance of ant's depends are on this distribution. My first attempt at getting ant installed didn't work. In the past I've had trouble with the gcj-compat stuff, so I took a wrong turn at the outset. $ sudo urpmi ant One of the following packages is needed: 1- java-1.4.2-gcj-compat-devel-1.4.2.0-40.103.1mdv2007.0.x86_64 : JPackage development scripts for GCJ (to install) 2- kaffe-devel-1.1.7-1mdk.x86_64 : Development package with static libs and headers for kaffe (to install) What is your choice? (1-2) 2 To satisfy dependencies, the following packages are going to be installed ant-1.6.5-21mdv2007.0.x86_64 antlr-2.7.6-4.1mdv2007.0.x86_64 bouncycastle-1.33-3mdv2007.0.x86_64 bouncycastle-jdk1.4-1.33-3mdv2007.0.x86_64 classpath-0.92-3mdv2007.0.x86_64 classpathx-jaf-1.1.1-1mdv2007.0.x86_64 classpathx-mail-1.1.1-3mdv2007.0.x86_64 classpathx-mail-monolithic-1.1.1-3mdv2007.0.x86_64 eclipse-ecj-3.2.0-12.3mdv2007.0.x86_64 gcj-tools-4.1.1-3mdk.x86_64 gjdoc-0.7.7-9mdv2007.0.x86_64 jamvm-1.4.3-3.1mdv2007.0.x86_64 java-1.4.2-gcj-compat-1.4.2.0-40.103.1mdv2007.0.x86_64 jikes-1.23-0.20050308.1mdk.x86_64 jpackage-utils-1.7.0-1.4mdv2007.0.noarch kaffe-1.1.7-1mdk.x86_64 kaffe-devel-1.1.7-1mdk.x86_64 lib64gcj7-devel-4.1.1-3mdk.x86_64 Proceed with the installation of the 18 packages? (84 MB) (Y/n) Y This gave me: $ pwd /home/data/svn/crossfire/jxclient $ ant Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher $ cd trunk/com/realtime/crossfire/jxclient/ $ ant Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher $ cd ../../../../../trunk/src/test/com/realtime/crossfire/jxclient/ $ ant Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher Googling the above message resulted in a suggestion for troubleshooting. $ ant --execdebug exec "/usr/java/jdk1.5.0_08/bin/java" -classpath "/usr/bin/build-classpath: error: JVM_LIBDIR /usr/lib/jvm-exports/java-gcj does not exist or is not a directory" -Dant.home="/usr/share/ant" -Dant.library.dir="/usr/share/ant/lib" org.apache.tools.ant.launch.Launcher -cp "" Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher Ok, so problem is in the tool chain probably, since it is missing stuff in /usr/lib. On a hunch, I pull out kaffe and kaffe-devel and start over. $ sudo urpme kaffe kaffe-devel To satisfy dependencies, the following 3 packages will be removed (19 MB): ant-1.6.5-21mdv2007.0.x86_64 (due to missing java-devel) kaffe-1.1.7-1mdk.x86_64 kaffe-devel-1.1.7-1mdk.x86_64 (due to unsatisfied java-1.4.2-kaffe == 0:1.4.2.00-1mdk, due to unsatisfied kaffe == 0:1.1.7-1mdk) Remove 3 packages? (y/N) y removing ant-1.6.5-21mdv2007.0.x86_64 kaffe-1.1.7-1mdk.x86_64 kaffe-devel-1.1.7-1mdk.x86_64 And re-install ant using the other choice. $ sudo urpmi ant One of the following packages is needed: 1- java-1.4.2-gcj-compat-devel-1.4.2.0-40.103.1mdv2007.0.x86_64 : JPackage development scripts for GCJ (to install) 2- kaffe-devel-1.1.7-1mdk.x86_64 : Development package with static libs and headers for kaffe (to install) What is your choice? (1-2) 1 One of the following packages is needed: 1- xml-commons-resolver10-1.3.03-5.1mdv2007.0.x86_64 : XmlResolver 1.0 utility from xml-commons (to install) 2- xml-commons-resolver11-1.3.03-5.1mdv2007.0.x86_64 : XmlResolver 1.1 utility from xml-commons (to install) 3- xml-commons-resolver12-1.3.03-5.1mdv2007.0.x86_64 : XmlResolver 1.2 from xml-commons (to install) What is your choice? (1-3) 3 To satisfy dependencies, the following packages are going to be installed: ant-1.6.5-21mdv2007.0.x86_64 gcc-java-4.1.1-3mdk.x86_64 java-1.4.2-gcj-compat-devel-1.4.2.0-40.103.1mdv2007.0.x86_64 xalan-j2-2.7.0-2.2mdv2007.0.x86_64 xerces-j2-2.8.0-1mdv2007.0.x86_64 xml-commons-1.3.03-5.1mdv2007.0.x86_64 xml-commons-resolver12-1.3.03-5.1mdv2007.0.x86_64 Proceed with the installation of the 7 packages? (26 MB) (Y/n) y Progress... but still no cigar... $ ant /usr/bin/build-classpath: error: Could not find xml-commons-apis Java extension for this JVM /usr/bin/build-classpath: error: Some specified jars were not found Buildfile: build.xml init: compile: [delete] Deleting directory /home/data/svn/crossfire/jxclient/trunk/build/jxclient [mkdir] Created dir: /home/data/svn/crossfire/jxclient/trunk/build/jxclient [javac] Compiling 115 source files to /home/data/svn/crossfire/jxclient/trunk/build/jxclient [javac] Compliance level '1.4' is incompatible with target level '1.5'. A compliance level '1.5' or better is required BUILD FAILED /home/data/svn/crossfire/jxclient/trunk/build.xml:12: Compile failed; see the compiler error output for details. Total time: 1 second Ok, something else is missing... $ sudo urpmi xml-commons-apis One of the following packages is needed: 1- xml-commons-jaxp-1.1-apis-1.3.03-5.1mdv2007.0.x86_64 : JAXP 1.1, DOM2, SAX2, SAX2-ext 1.0 apis (to install) 2- xml-commons-jaxp-1.2-apis-1.3.03-5.1mdv2007.0.x86_64 : JAXP 1.2, DOM 2, SAX 2.0.1, SAX2-ext 1.0 apis (to install) 3- xml-commons-jaxp-1.3-apis-1.3.03-5.1mdv2007.0.x86_64 : JAXP 1.3, DOM 2, SAX 2.0.1, SAX2-ext 1.0 apis (to install) What is your choice? (1-3) 3 $ ant Buildfile: build.xml init: compile: [delete] Deleting directory /home/data/svn/crossfire/jxclient/trunk/build/jxclient [mkdir] Created dir: /home/data/svn/crossfire/jxclient/trunk/build/jxclient [javac] Compiling 115 source files to /home/data/svn/crossfire/jxclient/trunk/build/jxclient [javac] Compliance level '1.4' is incompatible with target level '1.5'. A compliance level '1.5' or better is required BUILD FAILED /home/data/svn/crossfire/jxclient/trunk/build.xml:12: Compile failed; see the compiler error output for details. Total time: 1 second I don't quite understand the compliance level complaint... $ javac -version javac 1.5.0_08 Hmm... The following might have something to do with it... bouncycastle-jdk1.4-1.33-3mdv2007.0 jpackage-utils-1.7.0-1.4mdv2007.0 jamvm-1.4.3-3.1mdv2007.0 java-1.4.2-gcj-compat-1.4.2.0-40.103.1mdv2007.0 java-1.4.2-gcj-compat-devel-1.4.2.0-40.103.1mdv2007.0 This is getting complicated. the java-1.4.2-gcj-compat stuff is required by the distribution because it doesn't supply Sun's java. <snip> Hours later... This did the trick... $ export JAVA_HOME=/usr/java/latest $ ant --execdebug $ ant --execdebug exec "/usr/java/latest/jre/bin/java" -classpath "/usr/bin/build-classpath: error: JAVAVER_JNIDIR /usr/lib/java-1.6.0 does not exist or is not a directory:/usr/bin/build-classpath: error: JAVAVER_JNIDIR /usr/lib/java-1.6.0 does not exist or is not a directory:/usr/java/latest/lib/tools.jar" -Dant.home="/usr/share/ant" -Dant.library.dir="/usr/share/ant/lib" org.apache.tools.ant.launch.Launcher -cp "" Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher $ sudo mkdir /usr/lib/java-1.6.0 Who knows why the above was needed... No clue, but it was looking for the directory and could not find it. Simply making it gets the build to actually start and fail due to unfound resources.. $ ant --execdebug exec "/usr/java/latest/jre/bin/java" -classpath "/usr/bin/build-classpath: error: JAVAVER_JNIDIR /usr/lib/java-1.6.0 does not exist or is not a directory:/usr/bin/build-classpath: error: JAVAVER_JNIDIR /usr/lib/java-1.6.0 does not exist or is not a directory:/usr/java/latest/lib/tools.jar" -Dant.home="/usr/share/ant" -Dant.library.dir="/usr/share/ant/lib" org.apache.tools.ant.launch.Launcher -cp "" Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher [EMAIL PROTECTED] trunk]$ ant --execdebug exec "/usr/java/latest/jre/bin/java" -classpath "/usr/bin/build-classpath: error: JAVAVER_JNIDIR /usr/lib/java-1.6.0 does not exist or is not a directory:/usr/java/latest/lib/tools.jar" -Dant.home="/usr/share/ant" -Dant.library.dir="/usr/share/ant/lib" org.apache.tools.ant.launch.Launcher -cp "" Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher [EMAIL PROTECTED] trunk]$ ant --execdebug exec "/usr/java/latest/jre/bin/java" -classpath "/usr/share/java/ant.jar:/usr/share/java/ant-launcher.jar:/usr/share/java/jaxp_parser_impl.jar:/usr/share/java/xml-commons-apis.jar:/usr/java/latest/lib/tools.jar" -Dant.home="/usr/share/ant" -Dant.library.dir="/usr/share/ant/lib" org.apache.tools.ant.launch.Launcher -cp "" Buildfile: build.xml init: compile: [delete] Deleting directory /home/data/svn/crossfire/jxclient/trunk/build/jxclient [mkdir] Created dir: /home/data/svn/crossfire/jxclient/trunk/build/jxclient [javac] Compiling 115 source files to /home/data/svn/crossfire/jxclient/trunk/build/jxclient [javac] /home/data/svn/crossfire/jxclient/trunk/src/test/com/realtime/crossfire/jxclient/gui/log/ParserTest.java:23: package junit.framework does not exist [javac] import junit.framework.Test; [javac] ^ [javac] /home/data/svn/crossfire/jxclient/trunk/src/test/com/realtime/crossfire/jxclient/gui/log/ParserTest.java:24: package junit.framework does not exist [javac] import junit.framework.TestCase; [javac] ^ [javac] /home/data/svn/crossfire/jxclient/trunk/src/test/com/realtime/crossfire/jxclient/gui/log/ParserTest.java:25: package junit.framework does not exist [javac] import junit.framework.TestSuite; [javac] ^ [javac] /home/data/svn/crossfire/jxclient/trunk/src/test/com/realtime/crossfire/jxclient/gui/log/ParserTest.java:26: package junit.textui does not exist [javac] import junit.textui.TestRunner; [javac] ^ [javac] /home/data/svn/crossfire/jxclient/trunk/src/test/com/realtime/crossfire/jxclient/gui/log/ParserTest.java:33: cannot find symbol [javac] symbol: class TestCase [javac] public class ParserTest extends TestCase [javac] ^ [javac] /home/data/svn/crossfire/jxclient/trunk/src/test/com/realtime/crossfire/jxclient/gui/log/ParserTest.java:55: cannot find symbol [javac] symbol : class Test [javac] location: class com.realtime.crossfire.jxclient.gui.log.ParserTest [javac] public static Test suite() [javac] ^ [javac] /home/data/svn/crossfire/jxclient/trunk/src/test/com/realtime/crossfire/jxclient/gui/log/ParserTest.java:57: cannot find symbol [javac] symbol : class TestSuite [javac] location: class com.realtime.crossfire.jxclient.gui.log.ParserTest [javac] return new TestSuite(ParserTest.class); [javac] ^ [javac] /home/data/svn/crossfire/jxclient/trunk/src/test/com/realtime/crossfire/jxclient/gui/log/ParserTest.java:67: cannot find symbol [javac] symbol : variable TestRunner [javac] location: class com.realtime.crossfire.jxclient.gui.log.ParserTest [javac] TestRunner.run(suite()); [javac] ^ [javac] /home/data/svn/crossfire/jxclient/trunk/src/test/com/realtime/crossfire/jxclient/gui/log/ParserTest.java:294: cannot find symbol [javac] symbol : method assertEquals(java.lang.String,java.lang.String) [javac] location: class com.realtime.crossfire.jxclient.gui.log.ParserTest [javac] assertEquals(expected, dumpBuffer()); [javac] ^ [javac] 9 errors BUILD FAILED /home/data/svn/crossfire/jxclient/trunk/build.xml:12: Compile failed; see the compiler error output for details. Total time: 4 seconds $ urpmq --fuzzy junit ant-junit junit junit-demo junit-javadoc junit-manual $ sudo urpmi ant-junit To satisfy dependencies, the following packages are going to be installed: ant-junit-1.6.5-21mdv2007.0.x86_64 junit-3.8.2-1.1mdv2007.0.x86_64 Proceed with the installation of the 2 packages? (2 MB) (Y/n) y $ cd /home/data/svn/crossfire/jxclient/trunk $ ant Buildfile: build.xml init: compile: [delete] Deleting directory /home/data/svn/crossfire/jxclient/trunk/build/jxclient [mkdir] Created dir: /home/data/svn/crossfire/jxclient/trunk/build/jxclient [javac] Compiling 115 source files to /home/data/svn/crossfire/jxclient/trunk/build/jxclient skin.prelude: [copy] Copying 188 files to /home/data/svn/crossfire/jxclient/trunk/build/skin.prelude/com/realtime/crossfire/jxclient/skins/default [jar] Building jar: /home/data/svn/crossfire/jxclient/trunk/jxcskin_prelude.jar jar: [jar] Building jar: /home/data/svn/crossfire/jxclient/trunk/jxclient.jar all: BUILD SUCCESSFUL Total time: 7 seconds Bingo! $ bash run.sh The GPU cooler comes on... Ah... yes... there it is... Yup, crossfire.metalforge.com Hmm... So... JAVA_HOME and xml-commons-api, junit, ant-junit packages and the inexplicable mkdir are key for Mandriva. Does anyone care if I markup the readme a bit? Especially with the part about --execdebug? _______________________________________________ crossfire mailing list crossfire@metalforge.org http://mailman.metalforge.org/mailman/listinfo/crossfire