Setting up the Labyrinth

What is the "labyrinth"

LABYRINTH is a package for managing the MINOS software at the distributed collaboration sites. The LABYRINTH provides a framework for keeping a central copy of the code up-to-date and compiled on homogeneous and hetrogeneous platform clusters. The site manager is provided a script that automates the task of fetching/updating the individual CVS modules. Another script compiles a clean copy of the libraries and stores them in a platform dependent directory tree for use on a multi-platform cluster. Setup scripts allow site managers to configure the LABYRINTH to handle the unstandardized locations of CERNLIB, STDHEP and LUND in their particular file system.

Users are provided two approaches to using the central libraries. The first is built around a shell script ($THESEUS/ that the user copies to their area and modifies. The script compiles, links and runs the users code; embedded in the script (and modified by the user) are the input data cards that specify the list of files to process and the FFREAD data, as well as the source code itself. The script then removes intermediate files it generated. Several versions of the script can be run simultaneously without interference since the files are all tagged by a process id number.

The alternative approach is one using a Makefile ($THESEUS/Makefile) that the user copies into their own area and modifies. This reduces the amount of recompilation, but requires the user to handle more of the details of defining the RECO_GAF_LIST and RECO_FFR.

At this point users are encouraged to forego the use of the script approach and instead use the Makefile. This will be the better supported approach as the scripting requires additional hand modifications when conditions change.

Getting started at a new site

Log into the account designated as the site manager. It is recommended that a special librarian account be set up for this purpose. This avoids accidental mucking about in the shared library area. Designate a file system path to the top of the LABYRINTH tree; in the following steps this is shown as lpath.

The "gmake" command must be in the command path of the site manager.

     $ where gmake
should return something similar to "/usr/local/bin/gmake"

Check out the "labyrinth" CVS module from the anonymous pserver. For this you'll need the password (call or write).

   $ export
   $ cvs login
   $ cvs checkout labyrinth

Follow the instructions in lpath/labyrinth/doc/installation.txt

The installation instructions can be found at /afs/


Once configured for a site all MINOS users can then access the central site libraries with the commands:

   $ setenv LABYRINTH lpath  ! see below for generally public installations
   $ source $LABYRINTH/setup_labyrinth.csh

Contact: Robert Hatcher <>