On 07.06.10 06:58, Brett Wooldridge wrote:
This issue is "resolved". However, I think the build infrastructure
for OS X could use to be updated. The issue is that Apple ships OS X
with Java 1.6, but includes symbolic links from 1.4 -> 1.6, and 1.5 ->
1.6. The Derby build detects (or think it detects) a real JDK 1.4 and
1.5 present on the machine and sets up the environment accordingly.
This results in a fail.
Nothing I did could convince Derby not to detect these versions.
Ultimately, I followed the instructions here to install an actual old
version of 1.4 and 1.5 on my machine:
http://tedwise.com/2009/09/25/using-java-1-5-and-java-1-4-on-snow-leopard/
and the build seems happy. Given that Apple no longer makes 1.4 or
1.5 available for download, and they must be downloaded from the
internets and side-loaded, it seems like the build should be updated
to "do the right thing" in the OS X environment. If Derby is capable
of building in a pure 1.6 environment (as it seems to be with
Windows), I would recommend ripping out all of the OS X Java version
detection code save for 1.6. Any developer with a reasonably current
MacOS X install (read: the past three years) -- i.e. most developers
-- will encounter this failure building Derby on OS X.
Hi Brett,
You're right, the logic for Apple VMs is different in the Derby build.
As a matter of fact, it isn't doing any detection at all - it's only
using default values.
I'm a bit puzzled why you are seeing this whereas it hasn't been
reported by any of the developers. Is this something that has changed
recently, or does it maybe matter if the machine has been in use for a
while (i.e. difference between updated OS X and clean install OS X)?
In any case, I logged DERBY-4694 [1] to track this.
Thanks,
--
Kristian
[1] https://issues.apache.org/jira/browse/DERBY-4694
-Brett