Installation manual

Contents

Preliminaries
Configuration files
Specifying the JDK version
Installation

Preliminaries

To install and use the following should be pre-installed on your system: The current installation process requires these GNU specific utilities. Things should still work with other versions of these utilities, but may require adaptation of the configuration and/or makefiles. The GNU utilities can be obtained from any GNU ftp mirror site.

The JDK 1.2 is recommended, because this solves a memory problem. With JDK 1.1, some memory will not be garbage collected, which may ultimately cause an OutOfMemoryException to be thrown.

Back to contents.

Configuration files

This distribution of NexusRMI comes with a number of configuration files, that may require editing before installing.

The first configuration file is config.mk in the nexusrmi directory. This file specifies where the various parts of NexusRMI are to be installed and on what platform (hardware architecture and operating system) the binaries are going to run.

The following variables are set in this configuration file:

Note that the directories need not exist yet, each directory and all parents, if yet non-existent, will be created. This means that it is possible to install the complete NexusRMI distribution in a yet non-existent nexusrmi directory. This directory will be created as well as the documentation, binary, and java runtime directories.

In the architecture dependent binary directories (e.g. compiler/bin/sunos) the configuration files for specific binaries are found. Here is the example configuration file for Solaris platforms.

The following variables are set in this configuration file:

Edit the configuration file matching the specified ARCHITECTURE if you do not have the default tools installed.

Back to contents.

Specifying the JDK version

There are a number of files in the nexusrmi runtime that are JDK version specific. To allow the coexistence of both the 1.1 and the 1.2 version, they come in two separate files with the version number included in it and a symbolic link to the current version. Make sure the symbolic links point to the version of the files that matches the JDK version that you are planning on using. For instance, if you are planning on using the JDK 1.2 version, make sure the files for class Nexusize, class HPCxxNexusize, server.UnicastRemoteObject, and class server.RMIClassLoader in compiler/runtime/Nexusrmi<version> look like this before installing:

Nexusize.java -> Nexusize.v12.java
Nexusize.v11.java
Nexusize.v12.java
HPCxxNexusize.java -> HPCxxNexusize.v12.java
HPCxxNexusize.v11.java
HPCxxNexusize.v12.java
server/RMIClassLoader.java -> RMIClassLoader.v12.java
server/RMIClassLoader.v11.java
server/RMIClassLoader.v12.java
server/UnicastRemoteObject.java -> UnicastRemoteObject.v12.java
server/UnicastRemoteObject.v11.java
server/UnicastRemoteObject.v12.java

If you are going to use JDK 1.1, make the symbolic links point to the JDK 1.1 versions instead.

The nexusrmic and the nexusrmis compilers both require the existence of class file binaries for the classes passed to them and all classes directly or indirectly referenced from these classes. This means, that, ultimatly, the Java runtime system classes also need to be available. We have not implemented reading class files from zip- or jar-archives, so you need to unpack these archives in a suitable directory. Since it is not advisable to have the unpacked class files in your CLASSPATH both compilers temporarily include this directory in their CLASSPATH. This means that you have to edit both scripts (nexusrmic and nexusrmis in compiler/bin) to include the directory with the unpacked system class files in their CLASSPATH.Each JDK version has its own collection of system class files, so switching to another JDK version requires the unpacking of the correspondig class files and the modification of these scripts to reflect the version change.

Look in both scripts for a line of the following form:

CLASSPATH=${CLASSPATH}:<some dir>

and replace <some dir> with the directory containing the unpacked class files.

Once NexusRMI is installed, both changes related to the JDK version change can still be performed. In this case, look for UnicastRemoteObject.java and RMIClassLoader.java in RTS_DIR/nexusrmi/server and look for nexusrmic and nexusrmis in BIN_DIR.

Back to contents.

Installation

After having edited the configuration files to your liking, installing the NexusRMI system is simply a matter of typing 'make' in the nexusrmi directory.

Back to contents.


Fabian Breg
Last modified: Wed Mar 17 05:20:18 EST 1999