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 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.

Both compilers are written in ANSI C. The default method for compiling these uses gcc together with flex and bison. This documentation describes how to change to other tools if the defaults are not installed on your system.

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 separate NexusRMI runtime versions for use with JDK 1.1 and JDK 1.2. Two classes from the nexusrmi.server package are different for these versions. To allow the coexistence of these two versions, they are present in two separate files with the version number included in it and a symbolic link to the current version. If you are planning on installing the JDK 1.2 version, make sure the files for class UnicastRemoteObject and RMIClassLoader in compiler/runtime/Nexusrmi<version> look like this before installing:

RMIClassLoader.java -> RMIClassLoader.v12.java
RMIClassLoader.v11.java
RMIClassLoader.v12.java
UnicastRemoteObject.java -> UnicastRemoteObject.v12.java
UnicastRemoteObject.v11.java
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: Sat Oct 17 15:56:18 EST 1998