Compiled Java programs may be executed (under Condor) on any execution site with a Java Virtual Machine (JVM). To do this, Condor must be informed of some details of the JVM installation.
Begin by installing a Java distribution according to the vendor's instructions. We have successfully used the Sun Java Developer's Kit, but any distribution should suffice. Your machine may have been delivered with a JVM already installed - installed code is frequently found in /usr/bin/java.
Condor's configuration includes the location of the installed JVM. Edit the configuration file. Modify the JAVA entry to point to the JVM binary, typically /usr/bin/java. Restart the condor_ startd daemon on that host. For example,
% condor_restart -startd bluejay
The condor_ startd daemon takes a few moments to exercise the Java capabilites of the condor_ starter, query its properties, and then advertise the machine to the pool as Java-capable. If the set up succeeded, then condor_ status will tell you the host is now Java-capable by printing the Java vendor and the version number:
% condor_status -java bluejay
After a suitable amount of time, if this command does not give any output, then the condor_ starter is having difficulty executing the JVM. The exact cause of the problem depends on the details of the JVM, the local installation, and a variety of other factors. We cannot offer any specific advice on these matters, but we can provide an approach to solving the problem.
To reproduce the test that the condor_ starter is attempting, try running the Java condor_ starter directly. To find where the condor_ starter is installed, run this command:
% condor_config_val STARTER
This command prints out the path to the condor_ starter, perhaps something like this:
/usr/condor/sbin/condor_starter
Use this path to execute the condor_ starter directly
with the -classad
option. This tells the starter
to run its tests and display its properties:
/usr/condor/sbin/condor_starter -classad
This command will display a short list of cryptic properties, such as:
IsDaemonCore = True HasFileTransfer = True HasMPI = True CondorVersion = "$CondorVersion: 6.2$"
If the Java configuration is correct, you should also see a short list of Java properties, such as:
JavaVendor = "Sun Microsystems Inc." JavaVersion = "1.2.2" JavaMFlops = 9.279696 HasJava = True
If the Java installation is incorrect, then any error messages from the shell or Java will be printed on the error stream instead.