How to Set Up a LIGOtools Directory

Peter Shawhan
Revised October 19, 2001
Updated for ligotools_init version 2.4 on January 27, 2005

It is recommended that any group working on LIGO choose one person to set up a LIGOtools installation that the whole group can use, and to take responsibility for keeping it up to date; this simply requires write access to a disk that all group members can read from. For instance, Peter currently maintains LIGOtools at Caltech (where the main LIGOtools directory is /ligoapps/ligotools). On the other hand, it is also possible for individuals to set up LIGOtools installations of their own -- you don't need root privileges or any other special permissions, and you can install LIGOtools in any directory.

There is a mailing list for LIGOtools announcements (e.g. about software updates) and discussion. You can subscribe to it by going to the LIGOtools mailing list web page and following the instructions there. Note that you can unsubscribe by going to the same web page.

For LIGOtools to work properly, it is very important that you follow the installation instructions completely. (For instance, you should not manually unzip/untar files unless the instructions tell you to.) The instructions are divided below into parts; parts 1 and 2 are mandatory, while part 3 is recommended.

Part 1: Set up the LIGOtools directory structure

Follow these instructions:

At the end of this initial setup, you will be prompted to execute the following command in your shell:
    eval `<dir>/bin/use_ligotools`
where <dir> is the main LIGOtools directory you just set up. This command sets the LIGOTOOLS environment variable for you and ensures that the $LIGOTOOLS/bin directory is in your PATH, etc.

The initial LIGOtools setup includes the ltadmin package which provides a few scripts for managing the LIGOtools directory structure. The ones you will probably use the most are ligotools_list, which prints out a list of the packages currently installed (try it now!), and ligotools_update, which is described below.

Part 2: Install packages

At this point, you are ready to download and install the various LIGOtools software packages. Because certain packages are designed to work together, you are advised to install all packages, unless you have some reason not to (e.g. limited available disk space, in which case you might omit root, lal, and dtt). In fact, installing everything (using the procedure below) is easier than picking-and-choosing! The procedure is: That should do it! Here are some things you can type to check that packages were installed correctly:

In the future, you should periodically use ligotools_update to check for new packages or new versions of existing packages, and to automatically download/install them.

For more detailed information about LIGOtools, see the "LIGOtools Administration Guide" in the Documentation section of the web page for the ltadmin package.

Part 3: Set up environment variables at login time

The recommended way of setting up environment variables is to execute the following command in your shell, or in your shell's startup file (.login, .bashrc, .cshrc or whatever):
    eval `<dir>/use_ligotools`
where <dir> is the full path of the directory containing the use_ligotools script. (Normally this is $LIGOTOOLS/bin, but obviously you have to give the explicit path if the LIGOTOOLS environment variable has not yet been set!) This command sets the LIGOTOOLS environment variable and ensures that the $LIGOTOOLS/bin directory is in your PATH, etc. It works with all popular shells (sh, bash, ksh, csh, tcsh) and is rather smart about modifying PATH, etc., so that it can safely be executed multiple times. Users of LIGOtools can put this into their .login or .cshrc file to be executed whenever they log in; alternatively, you can arrange to have it added to a system-wide setup script so that it is done automatically for all users. (It is safe to do both.)

The use_ligotools script was added in version 1.3 of the ltadmin package. Prior to this, it was necessary to create a setup script; see this link for some examples.


Problems? Questions? Comments? Contact Peter Shawhan <shawhan_p@ligo.caltech.edu>