I have spotted a problem with ant javac target on debian m68k.
ant javac targets with fork="true" on m68k makes the whole ant build
exit directly after the javac task ends. This screws the openjdk6
build on m68k since the langtools classes and bootstrap files are
not fully built.
I have created a testcase to reproduce this bug that can be
downloaded from:
http://labb.zafena.se/m68k-ant/antforktruetest.tar.gz
This ant bug is present on the m68k buildd machines and can be
spotted in the m68k openjdk6 buildd log by looking for the missing
BUILD SUCCESSFUL after all ant builds. The first ant build in
openjdk6 is run directly after sanity check is done.
search for
make[3]: Entering directory
`/build/buildd/openjdk-6-6b11/openjdk-ecj/langtools/make'
to see the ant bug in action in the m68k buildd log :
http://buildd.debian.org/fetch.cgi?pkg=openjdk-6;ver=6b11-9;arch=m68k;stamp=1223969321
I have stored my ant -diagnostics log here for reference:
http://labb.zafena.se/m68k-ant/ant-diagnostics.m68k.log
=============================================================
Output from testcase on m68k:
[EMAIL PROTECTED]:~/antforktruetest$ ant
Buildfile: build.xml
build:
[echo] running testcase to see if ant javac work, javac task
with fork='true' makes ant exit after compile on debian m68k without
running all remaining tasks and targets
[mkdir] Created dir: /home/xerxes/antforktruetest/destforkfalse
[mkdir] Created dir: /home/xerxes/antforktruetest/destforktrue
[echo] removing compiled classfiles if they exist or else they
will hide the bug
[echo] compiling hello world using javac task with fork='false'
[javac] Compiling 1 source file to
/home/xerxes/antforktruetest/destforkfalse
[echo] compiling hello world using javac task with fork='true'
[javac] Compiling 1 source file to
/home/xerxes/antforktruetest/destforktrue
[EMAIL PROTECTED]:~/antforktruetest$ echo $?
0
[EMAIL PROTECTED]:~/antforktruetest$ ls destforktrue
HelloWorld.class
[EMAIL PROTECTED]:~/antforktruetest$ cd destforktrue
[EMAIL PROTECTED]:~/antforktruetest/destforktrue$ java HelloWorld
Hello World!
[EMAIL PROTECTED]:~/antforktruetest/destforktrue$
It is quite tricky to spot that ant have failed here since the
classes are compiled with javac (works fine with java too) and ant
exited with success yet ant have not run all its tasks! Compare with
the output below to see that ant is broken.
=============================================================
Expected output from testcase (here run successfully on a ubuntu x86
installation):
[EMAIL PROTECTED]:~/antforktruetest$ ant
Buildfile: build.xml
build:
[echo] running testcase to see if ant javac work, javac task
with fork='true' makes ant exit after compile on debian m68k without
running all remaining tasks and targets
[mkdir] Created dir: /home/xerxes/antforktruetest/destforkfalse
[mkdir] Created dir: /home/xerxes/antforktruetest/destforktrue
[echo] removing compiled classfiles if they exist or else they
will hide the bug
[echo] compiling hello world using javac task with fork='false'
[javac] Compiling 1 source file to
/home/xerxes/antforktruetest/destforkfalse
[echo] compiling hello world using javac task with fork='true'
[javac] Compiling 1 source file to
/home/xerxes/antforktruetest/destforktrue
[echo] success working ant with javac tasks!
BUILD SUCCESSFUL
Total time: 9 seconds
[EMAIL PROTECTED]:~/antforktruetest$
=====================================================================
Cheers
Xerxes
15 sep 2008 kl. 12.19 skrev Xerxes Rånby:
On my machine i hit another build error a bit further: see the
attached log
My icedtea6 build is configured with ./configure --with-jar=gjar-4.3
For some reason JAVAC_CMD is unset when compiling the classlist for
the openjdk-ecj bootstrap part.
[EMAIL PROTECTED]:~/zero/icedtea6$ hg tip
changeset: 1040:c46e727121a8
tag: tip
user: [EMAIL PROTECTED]
date: Sat Sep 13 09:32:12 2008 +0200
summary: 2008-09-12 Matthias Klose <[EMAIL PROTECTED]>
../../../src/share/classes/sun/reflect/Reflection.java
# Running javac:
-sourcepath
/home/xerxes/zero/icedtea6/generated:../../../src/solaris/classes:../../../src/share/classes
-bootclasspath
/home/xerxes/zero/icedtea6/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar::/home/xerxes/zero/icedtea6/openjdk-ecj/control/build/linux-m68k/classes
-d
/home/xerxes/zero/icedtea6/openjdk-ecj/control/build/linux-m68k/classes
@/home/xerxes/zero/icedtea6/openjdk-ecj/control/build/linux-m68k/tmp/java/java.lang/java/.classes.list
/bin/sh: line 6: -sourcepath: command not found
make[4]: *** [.compile.classlist] Error 127
make[4]: Leaving directory
`/home/xerxes/zero/icedtea6/openjdk-ecj/jdk/make/java/java'
make[3]: *** [all] Error 1
make[3]: Leaving directory
`/home/xerxes/zero/icedtea6/openjdk-ecj/jdk/make/java'
make[2]: *** [all] Error 1
make[2]: Leaving directory
`/home/xerxes/zero/icedtea6/openjdk-ecj/jdk/make'
make[1]: *** [jdk-build] Error 2
make[1]: Leaving directory
`/home/xerxes/zero/icedtea6/openjdk-ecj/control/make'
make: *** [stamps/icedtea-ecj.stamp] Error 2
[EMAIL PROTECTED]:~/zero/icedtea6$