Hi Brett,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:
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.
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  to track this.