Setting up the GUS Installer

The GUS Installer installs software developed by the GUS project and many other projects. This document describes how to install the installer.

The installer is written in Ant, which in turn is written in Java. It also uses Perl for a script that provides the command line interface to the Ant program.

There are a number of preliminary steps before actually installing the installer.

(Note: you do not need root privileges to install the installer or GUS software)

Install Java

The GUS installer requires Java Standard Edition (JSE) 1.4 or higher.

Check that Java is installed:

% java -version
java version "1.4.2_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)
Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode)

If not, install the JDK.

Install Ant (version 1.6.1 or better)

The GUS installer requires Ant version 1.6.1 or better.

Check that Ant is installed and at least version 1.6.1:

% ant -version
Apache Ant version 1.6.2 compiled on July 16 2004

If not, download Ant and install it according to the directions on the Ant web site.

Test Ant again.

Troubleshooting Ant

On RedHat? Enterprise, you may run into the following error:

Exception in thread "main" java.lang.NoClassDefFoundError:  org/apache/tools/ant/launch/Launcher

If so, it is probably caused by the presence of the directory /usr/share/ant. Remove or rename that directory.

Create required directories

The software you are installing (via download or SVN, see below) goes into a "source" directory. From there the installer installs it into an "execution" directory. The source directory is called $PROJECT_HOME and the execution directory is called $GUS_HOME.

These directories should go into a directory you set up for the installed software. In this document we'll call that directory my_installation.

If different users, teams or projects need different installs (because they are using different versions or are planning on customizing the code), give each its own set of directories.

One way to install an individual copy is as follows:

% mkdir my_installation                ## a home for this user's software
% mkdir my_installation/project_home   ## a dir for $PROJECT_HOME
% mkdir my_installation/gus_home       ## a dir for $GUS_HOME

Set up your environment

Place the following in your .login or .cshrc, using the syntax appropriate for your shell (in this example we use tcsh-style syntax):

    # GUS build system
    setenv ANT_HOME /usr/local/pkg/ant/jakarta-ant-1.5   ## where YOUR Ant is installed
    setenv JAVA_HOME /usr/java/j2sdk1.4.0/               ## where YOUR Java is installed
    setenv PROJECT_HOME $HOME/gus/vXXX/projects          ## the location of YOUR PROJECT_HOME
    setenv GUS_HOME $HOME/gus/vXXX/gushome               ## the location of YOUR GUS_HOME
    setenv PATH $GUS_HOME/bin:$PROJECT_HOME/install/bin:$ANT_HOME/bin:${PATH}

A few notes on this

Make your new environment take effect by starting a new terminal session, or by:

% source $HOME/.login    ## or .cshrc or whatever file initializes your environment
% rehash                 ## so the new PATH will work

Getting the installer from download

If you are installing an official release of GUS software from download, the release file will include the installer. To unpack the GUS software and the installer, do this:

% cp your_gus_software.tar.gz $PROJECT_HOME
% cd $PROJECT_HOME
% gunzip your_gus_software.tar.gz
% tar -xf your_gus_software.tar

Getting the installer from public Subversion

You can get the development version of the installer from Subversion.

cd $PROJECT_HOME
svn co https://www.cbil.upenn.edu/svn/gus/install/trunk install

Test the installer

% build

usage:
  build projectname[/componentname]  install|webinstall  targetDir -append
[-skipJavaCompiling] [-webPropFile propfile] [-co [version]]
  build projectname release version