Find the right runtime class path for a J9 boot jdk
Volker Simonis
volker.simonis at gmail.com
Thu Nov 14 08:38:51 PST 2013
Hi Dave,
thanks for looking into this issue. However I must say I don't really
understand your approach. The 'with-jdk-variant' option is documented
and it says:
--with-jdk-variant JDK variant to build (normal) [normal]
So this is clearly an output option which can be used to configure
what kind of JDK to build. As the comments explain, this may be used
by the Oracle-internal build to specify addition modules for
compilation into the JDK. I don't think it is suitable to configure
the bootstrap JDK.
Moreover, you don't address the fact that IBM J9 has different version
of 'vm.jar', depending on which configuaration you are running with
(i.e. compressed pointers or not ->
jre/lib/ppc64/compressedrefs/jclSC170/vm.jar vs.
jre/lib/ppc64/default/jclSC170/vm.jar). I also don't understand the
way how you reference the jar file from two directory levels beneath
the boot JDK root path. I don't think this will work with a standard
JDK image.
Nevertheless, I think I found a better and more general solution for
the problem by simply setting BOOT_RTJAR to the value of the
'sun.boot.class.path' property. (It works equally well with the Oracle
and the IBM JDKs - see my mail:
http://mail.openjdk.java.net/pipermail/build-dev/2013-November/011098.html)
What do you think, would you be happy with this new solution?
Regards,
Volker
On Thu, Nov 14, 2013 at 1:21 PM, Dave Pointon
<dpointo8 at linux.vnet.ibm.com> wrote:
> Hiya Volker ,
>
> Steve Poole suggested that I might 'touch base' with you, on group,
> regarding your proposed change WRT the above, to whit, the change looks
> good but would, I suggest, be only a local, interim fix to the problem.
>
> Currently, I am considering a far more scaleable/generic solution based
> on significantly improving the accessibility of the interface to JDK
> variants - as currently presented by the extant, but as yet
> undocumented, --with-jdk-variant option to configure, as a result of
> which, the following condition (in jdk-boot.m4) ...
>
> if $BOOT_JDK/bin/java -version 2>&1 | grep 'IBM J9'; then
> .
> .
> .
> fi
>
> would become simpler, viz ...
>
> 270a286,299
>>
>> # Now, for the ibm JDK variant only, account for the IBM variant of
> rt.jar
>> # which comprises multiple jars
>> if test "v$JDK_VARIANT" = vibm; then
>> boot_jdk_root=$with_boot_jdk/../..
>>
>> BOOT_RTJAR="$BOOT_RTJAR:
> $boot_jdk_root/jvm-bin/J9_JCL/jclSC17/vm.jar:
> $boot_jdk_root/security-tivoli-bin/share/lib/ibmcertpathfw.jar:
> $boot_jdk_root/security-tivoli-bin/share/lib/ibmcertpathprovider.jar:
> $boot_jdk_root/security-tivoli-bin/share/lib/ibmjcefw.jar:
> $boot_jdk_root/security-tivoli-bin/share/lib/ibmjgssfw.jar:
> $boot_jdk_root/security-tivoli-bin/share/lib/ibmjgssprovider.jar:
> $boot_jdk_root/security-tivoli-bin/share/lib/ibmjssefw.jar:
> $boot_jdk_root/security-tivoli-bin/share/lib/ibmjsseprovider2.jar:
> $boot_jdk_root/security-tivoli-bin/share/lib/ibmpkcs.jar:
> $boot_jdk_root/security-tivoli-bin/share/lib/ibmsaslfw.jar:
> $boot_jdk_root/security-tivoli-bin/share/lib/ext/ibmjceprovider.jar:
> $boot_jdk_root/security-tivoli-bin/share/lib/ext/ibmxmlcrypto.jar:
> $boot_jdk_root/security-tivoli-bin/share/lib/xmldsigfw.jar:
> $boot_jdk_root/fusion-hyclasslib-bin/modules/math/classes:
> $boot_jdk_root/xml-bin/xml.jar:
> $boot_jdk_root/rt-service-bin/se-service.jar:
> $with_boot_jdk/jre/lib/rt.jar"
>>
>> # Convert path separators to windoze variant iff applicable
>> if test $VAR_OS = windows; then
>> BOOT_RTJAR="`echo $BOOT_RTJAR | sed ',:,;,g'`"
>> fi
>> fi
>>
>
> Any version specific details, as you suggest, would then be enclosed
> within the more obvious variant specific conditional block.
>
> You'll note that I have yet to address the required presence of all the
> of the extra jars listed in BOOT_RTJAR and also that I extend the
> definition to add the extra jars to the end of the definition - as,
> indeed, I note that you do also :-)
>
> HTH ,
>
> Rgds ,
> --
> Dave Pointon FIAP MBCS
>
> Now I saw, tho' too late, the folly of beginning a work before we count
> the cost and before we we judge rightly of our strength to go thro' with
> it - Robinson Crusoe
>
More information about the ppc-aix-port-dev
mailing list