Use jdk-module-image as boot jdk (modules build + SKIP_BOOT_CYCLE=false)

Kelly O'Hair Kelly.Ohair at sun.com
Thu Apr 1 10:09:57 PDT 2010


On Mar 31, 2010, at 4:15 PM, Mandy Chung wrote:

> Kelly, Alan, Karen,
>
> Jon and I have been discussing the testing for the new javac change  
> and modules image.   Building JDK itself is one the the simplest and  
> most effective tests that Jon typically uses to validate javac  
> changes (by building JDK with SKIP_BOOT_CYCLE=false).
>
> Currently, "make SKIP_BOOT_CYCLE=false all" will first build a  
> legacy jdk image and set it as the ALT_BOOTDIR to rebuild the jdk.   
> As Jon suggests, for modules build, SKIP_BOOT_CYCLE=false should use  
> the jdk-module-image as the ALT_BOOTDIR to rebuild the jdk modules.
>
> This fix makes changes in the top level repo, jdk, hotspot, and  
> corba repository as follows:
>
> 1. http://cr.openjdk.java.net/~mchung/jigsaw/bootdir-modules-image/top-repo
>
>  - Set JDK_IMAGE_NAME to j2sdk-image for legacy image build or
>    jdk-module-image for modules image build.
>  - not to create j2sdk-image for modules build (a bug Jon reported)
>
> 2. http://cr.openjdk.java.net/~mchung/jigsaw/bootdir-modules-image/jdk
>
>  - minor cleanup such as using absolute path of the modules directory
>  - Add OTHER_JAVAHFLAGS that will be used to set classpath
>    to look up pkcs11 and mscapi classes from a temp directory
>  - Add the logics to import from the modules instead of rt.jar and  
> resources.jar
>    Eventually we should import modules instead of copying in the  
> classes.
>  - eliminate the second build of the make/modules/Makefile
>    Modules.gmk to invoke make/modules/Makefile build was needed
>    so as to make sure the jdk modules in the "modules" directory
>    are up-to-date.  However, this is only needed for jdk developers  
> who
>    is doing incremental builds after the jdk is modularized.  Like  
> the images
>    build taking the current content from the "classes" directory, it  
> will just
>    take the current content in the "modules" directory to build the  
> modules
>    images.  For incremental builds, the jdk developers need to make
>    sure the jdk modules are up-to-date.  I'll also come up with some
>    better way to make our life easier in updating the jdk-module- 
> image.
>
> 3. http://cr.openjdk.java.net/~mchung/jigsaw/bootdir-modules-image/corba/
>
>   - corba, for some reason, links with libjvm.so and  
> libjava.so.      The fix is to include the new library path of the  
> jdk-module-image.
>     This will need to change when we move the native libraries to
>     the module content.
>
> 4. http://cr.openjdk.java.net/~mchung/jigsaw/bootdir-modules-image/hotspot/
>
>   - The makefile checks if the tools.jar exists for building SA.  In  
> the modular
>     world, it no longer has the tools.jar.
>

In both:

http://cr.openjdk.java.net/~mchung/jigsaw/bootdir-modules-image/hotspot/src/os/linux/vm/os_linux.cpp.sdiff.html

http://cr.openjdk.java.net/~mchung/jigsaw/bootdir-modules-image/hotspot/src/os/solaris/vm/os_solaris.cpp.sdiff.html

I'm concerned that the 'buf' character array might overflow.
Just asking, I didn;t have the time to walk through all of this.

> An open issue:  the jaxp and jaxws build may download the source  
> bundles.
> With using jdk-module-image as the boot jdk, jaxp and jaxws build will
> set ANT_JAVA_HOME to the jdk-module-image that will fail the download
> as security/crypto support in the modules image is an open issue.
>
> Caused by: java.lang.SecurityException: Can not initialize  
> cryptographic mechanism^M
>       at javax.crypto.JceSecurity.<clinit>(JceSecurity.java:86)^M
>
> I'd like to push this set of changes in jigsaw althought there is  
> the jaxp and jaxws
> bundle download issue.  As long as there is a local downloaded copy  
> of the
> jaxp/jaxws bundle, it will build fine.

Inside SWAN, it should find the jaxp/jaxws bundles in /java/devtools/ 
share/jdk7-drops,
and with JPRT, I think it should find these copies from my /java/ 
devtools copy at
/opt/jprt/slashjava/devtools/share/jdk7-drops

How these source drop bundles are found is a continued issue for me,  
and when it
goes wrong, like Rama found out recently, and the ant script trys to  
download from
some foreign http: download site, the ant scripts seem to seize up on  
the JPRT clients
and all hell breaks loose. :^(    Just a warning, but your builds  
should be ok.

-kto

>
> Thanks
> Mandy




More information about the jigsaw-dev mailing list