So, I think that setting compile.classpath=${java14compile.classpath}
is definitely the problem here, since I just tried that on my machine
and the build breaks in similar ways to what you described.
On 7/2/06, Ray Kiddy <[EMAIL PROTECTED]> wrote:
The 1.3 JVM that is on the system
is deprecated. Really, it cannot be relied on for anything modern.
What the build is looking for is not the 1.3 JVM, but its class
libraries. Derby currently maintains compatibility with JDK 1.3.1
(JDBC 2.0), and so it needs to reference the class libraries to
compile the classes necessary to run Derby on JDK 1.3.1. But, you
should run Ant with a 1.4.2 JVM (for Derby 10.1 or earlier) or with
1.4.2, 1.5, or 1.6 (b86 or later) for Derby 10.2 / trunk in order to
build.
1) The build seems to assume that the default JVM is 1.3, but then it
does not actually build if one uses that setting.
The lowest JVM level that Derby supports is 1.3.1, but you need to run
Ant with a 1.4.2 or later JVM as mentioned above in order to build it.
Perhaps this should be made more explicit in BUILDING.txt.
compile.classpath=${java14compile.classpath}
should be set to the java13compile.classpath so that the class
libraries for JDK 1.3.1 are picked up for the compilations that
require them. From BUILDING.txt section 2.2:
(1) Derby build environment requires you to install two levels of
Java Development Kit (JDK) - 1.3.x and 1.4.x as Derby is designed
to work in JDK1.3.x (JDBC 2.0) and JDK 1.4.x (JDBC 3.0)
environments. The Derby build is set up such that that most of
the code is compiled against JDK 1.3.x libraries so that no
dependencies on JDK 1.4.x classes exist, except for the code
that only runs in JDK1.4.x. In addition Derby's JDBC 2.0
implementation must compile against JDBC 2.0 class definitions
and the JDBC 3.0 implementation against JDBC 3.0 class
definitions.
Conveniently, Mac OS X already has both 1.3.1 and 1.4.2 installed.
Note that there are some other libraries that need to be downloaded to
build a complete build, and these are mentioned in BUILDING.txt.
Note that when building to target a J2ME environment, that
compile.classpath should actually be set to reference the J2ME
classes, and not the JDK 1.3.1 classes. This isn't your concern, but
it's why there is a difference between compile.classpath and
java13compile.classpath.
So, try setting compile.classpath=${java13compile.classpath} in your
~/ant.properties and let me know if that solves your problem.
thanks,
andrew