Re: RFR 7142950: jdk7u cannot bootstrap Mac OS build [macosx]
Hi, http://cr.openjdk.java.net/~michaelm/7142950/jdk/webrev.2/ This is an updated webrev based on the contribution/suggestion from Scott Kovatch. It changes the build image directories on Mac, to have the same format/directory structure as the other platforms (ie. it removes the Contents/Home stuff). That directory structure required by Mac bundles is now generated in specific bundle directories and these are used by the install. A consequence of this change is that anyone who has adjusted scripts that used the built j2sdk-image, or j2re-image to know about the mac specific paths will have to change that back again. This version of the change is almost agnostic on the "os.arch" setting. The only dependency is on 'src/macosx/bin/amd64/jvm.cfg'. That will have to be renamed to x86_64/jvm.cfg when 'os.arch' is changed. No other change is required. With this change, jdk only, and incremental builds should work again. If you are using the previous output from a control build as bootstrap or import jdk for a subsequent jdk only build, then it is possible you could run into the build problem described in 6967648. The workaround is to rename the top-level build directory to some other name before doing the jdk build. Thanks, Michael On 06/02/12 23:21, Scott Kovatch wrote: On Feb 6, 2012, at 2:31 PM, Michael McMahon wrote: There are a few problems with the Mac build at the moment. 1. If SKIP_BOOT_CYCLE=false then the build fails, due to two problems:- 1) top level Makefile doesn't know about Mac OS image directory structure 2) it also fails due to problem 2. below 2. General bootstrapping problem. The build currently cannot use itself as the bootstrap JDK due to an assumption in the framework classes that "os.arch" is x86_64, whereas we currently set it to amd64. The change is to fix that code to expect amd64. There is a related question then about what the correct value for os.arch should be. I'd like to raise this in a separate discussion and hopefully fix these build problems independently of that. I was going to propose that we fix the image directory issues by building into the image directories the same way on all platforms and have the mac build copy the image directories into j2sdk-bundle. (7133768) I'm pretty sure that even with this change you can't build rt.jar because the jar tool gets moved out from underneath the running build when the bundle is constructed. I don't think your changes would interfere with my proposed fix for 7133768, though. And, the other changes for generating the folder name dynamically are very much welcome. -- Scott K. Scott Kovatch scott.kova...@oracle.com Santa Clara/Pleasanton, CA
RFR 7142950: jdk7u cannot bootstrap Mac OS build [macosx]
There are a few problems with the Mac build at the moment. 1. If SKIP_BOOT_CYCLE=false then the build fails, due to two problems:- 1) top level Makefile doesn't know about Mac OS image directory structure 2) it also fails due to problem 2. below 2. General bootstrapping problem. The build currently cannot use itself as the bootstrap JDK due to an assumption in the framework classes that "os.arch" is x86_64, whereas we currently set it to amd64. The change is to fix that code to expect amd64. There is a related question then about what the correct value for os.arch should be. I'd like to raise this in a separate discussion and hopefully fix these build problems independently of that. 3. jvm.cfg is currently being taken from the solaris src tree even though a macos version of the file is there. Fix that problem too. The macos source jvm.cfg is changed to be the same as the solaris/amd64 version (ie. the one that was being used, and which makes -client UNKNOWN) The following webrevs address these issues. Top level repo -- http://cr.openjdk.java.net/~michaelm/7142950/top/webrev.1/ JDK repo http://cr.openjdk.java.net/~michaelm/7142950/jdk/webrev.1/
Re: RFR 7142950: jdk7u cannot bootstrap Mac OS build [macosx]
On Feb 6, 2012, at 2:31 PM, Michael McMahon wrote: > There are a few problems with the Mac build at the moment. > > 1. If SKIP_BOOT_CYCLE=false then the build fails, due to two problems:- >1) top level Makefile doesn't know about Mac OS image directory structure >2) it also fails due to problem 2. below > 2. General bootstrapping problem. The build currently cannot use itself as >the bootstrap JDK due to an assumption in the framework classes that >"os.arch" is x86_64, whereas we currently set it to amd64. The change is to >fix that code to expect amd64. There is a related question then about what > the >correct value for os.arch should be. I'd like to raise this in a separate > discussion >and hopefully fix these build problems independently of that. I was going to propose that we fix the image directory issues by building into the image directories the same way on all platforms and have the mac build copy the image directories into j2sdk-bundle. (7133768) I'm pretty sure that even with this change you can't build rt.jar because the jar tool gets moved out from underneath the running build when the bundle is constructed. I don't think your changes would interfere with my proposed fix for 7133768, though. And, the other changes for generating the folder name dynamically are very much welcome. -- Scott K. Scott Kovatch scott.kova...@oracle.com Santa Clara/Pleasanton, CA