On 7/2/06, Ray Kiddy <[EMAIL PROTECTED]> wrote:
I tried to build derby on Mac OS X and I had issues that I had not
expected.
I just wanted to report these for now and see it anyone has
suggestions on how to proceed. I am on a 10.4.7 system. The default
at this point is usually 1.5, but I set the default JVM back to 1.4.2
for the purposes of building derby.
It is necessary do this to build Derby 10.1 on any platform. See the
previous thread today concerning that. I thought that is was mentioned
in the build instructions (BUILDING.txt), but maybe not.
1) </snip description of modifying the source/target attributes>
This should not be necessary. Could you post the errors you received
trying to build an unmodified source tree?
2) There were methods missing from some of the java.sql classes. A
couple of the interfaces were not completely implemented. I put in
stubs so that derby will compile. I would not expect them to work,
though.
This should not be the case. Could you also post these errors?
3) The code, as I checked it out, could not seem to find the
JVMInfo.J2SE_16 ivar. I see where this is defined, but I do not see
where the build system includes that class in the classpath of the
other build.xml files. I just changed the references to
JVMInfo.J2SE_16 to its value, 7.
I see the change that you made was to a file in the client code. When
the client code is built, the JVMInfo class, part of the engine,
should already have been built and be present in the output directory.
The compiler should pick it up from the output directory and not the
classpath.
Obviously, these are not the solutions to the issues. Are there other
solutions already in progress? Has anyone else build Derby on a Tiger
Mac OS X system? I will include my diffs below. I will also put the
contents of my ~/ant.properties file here.
I build on Mac OS X all the time without needing any source
modifications, as it's my primary development platform.
In case it helps, here's my ant.properties:
...
j13lib=/System/Library/Frameworks/JavaVM.framework/Versions/1.3.1/Classes
j14lib=/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Classes
java13compile.classpath=${j13lib}/classes.jar;${j13lib}/ui.jar;${j13lib}/i18n.jar;${j13lib}/sunrsasign.jar;${javatools.dir}/jdbc2_0-stdext.jar;${j14lib}/dt.jar
java14compile.classpath=${j14lib}/classes.jar;${j14lib}/ui.jar;${j14lib}/laf.jar;${j14lib}/sunrsasign.jar;${j14lib}/jsse.jar;${j14lib}/jce.jar;${j14lib}/charsets.jar;${j14lib}/dt.jar
deprecation=off
compile.classpath=${java13compile.classpath}
javatools.dir=${basedir}/tools/java
javadoc.tool.jdk14=${java.home}/bin/javadoc
...
The main difference seems to be the setting of the compile.classpath
variable. Try setting it equal to java13compile.classpath and let me
know if that helps.
cheers,
andrew