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
- The construction of PATH places the GUS bin directories at the head of the PATH. This is important to avoid picking up erroneous stuff from the PATH inherited by your environment
- Take a look at your path (echo $PATH) and confirm that it has the GUS stuff first, and that the rest of it makes sense
- You should avoid using CLASSPATH in your environment. Setting a CLASSPATH in your environment may disrupt the proper providing of libraries to GUS and other software.
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 cohttps://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

https://www.cbil.upenn.edu/svn/gus/install/trunk


