Uploaded image for project: 'JikesRVM'
  1. RVM-604

Require two different host JVMs to successfully build on Linux/PowerPC

    Details

      Description

      We currently need two different host JVMs to successfully build Jikes RVM on Linux/PowerPC.

      One must use the IBM Java 6 JVM (currently recommend SR1) to build & compile the GNU Classpath class libraries. GNU Classpath uses sun.misc.Unsafe.putOrderedObject, which is not defined in the IBM Java 5 SDKs, but is defined in the Java 6 SDK. However, using this JVM as the host JVM for the bootimage writer produces non-working Jikes RVM images and/or crashes for some configurations. To robustly run the bootimage writer, you need to use Java 5 (currently recommend SR7 or SR8).

      The easiest way to workaround this, is to install both SDKs on the machine, but make the Java5 one the default one (found in the path when building Jikes RVM). Hack the script RVM_ROOT/components/ecj/3.2/ecj-3.2/ecj to explictly invoke the Java 6 JVM instead of just 'java'. This will let the GNU classpath build use Java 6 to compile its sources while using Java 5 to build the bootimage. This is the workaround we are using for nightly regressions on both piano and rvmppclnx64.

      As each new SR of Java 6 comes out, we need to see if it is capable of building the bootimage. If it is, then we could simply switch the Java 6 across the board to build on Linux/PowerPC.

        Attachments

          Issue links

            Activity

              People

              • Assignee:
                dgrove DaveG
                Reporter:
                dgrove DaveG
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: