Is anyone still building multiple JVMs?

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Thu Feb 20 15:04:28 UTC 2020


On 2020-02-20 12:52, Baesken, Matthias wrote:
>> run a separate task with "configure --with-jvm-variants=minimal &&
>> make hotspot".
> Hello,   this would , as far as I know, not produce  the same result  jdk  image  with both  minimal+server  libjvm in the image .
> So the proposed change sounds a bit like a  workaround, but  not a real replacement to what we have currently .

Well, almost. The resulting minimal/libjvm.so would reside in a 
different directory, and would have to be copied into place. And the 
jvm.cfg file needs to be correspondingly updated. All of this is trivial 
for you to do in your wrapper CI scripts. Just as what Adrian does with 
zero. The simplicity of that solution compared to the logistical 
nightmare in the make files does not make a compelling case for keeping 
the multi-JVM support.

However if you do that, you *should* get the same result. If not, then 
it's a bug somewhere (and that would really explain why this business of 
having multiple JVMs is hairy!). Give it a try! You can use the 
compare.sh script to verify that the resulting images are equal.

The one thing you need to take care of is making sure that the set of 
JVM features that code outside Hotspot cares about is matching. This is 
one of the thing the current system is trying hard to do (and failing, 
mostly, in all edge cases). E.g., you need to either enable CDS on both 
the server and the minimal build, or disable it on both.

/Magnus
>
> Best Regards, Matthias
>
>
>> On 2020-02-19 16:59, Baesken, Matthias wrote:
>>> Hi Magnus,  yes we do.  We build (on Linux only currently)   "--with-jvm-
>> variants=minimal,server"   in our central builds to test that  minimal is still
>> working  and that is was not destroyed by recent changes .
>>> Best Regards, Matthias
>> Is this just to test that minimal is working? If so, you could just as
>> well run a separate task with "configure --with-jvm-variants=minimal &&
>> make hotspot". Unless you are actually shipping this configuration, that
>> does not seem like a solid reason for keeping this functionality in the
>> build.
>>
>> /Magnus




More information about the build-dev mailing list