Fermilab


MINOS Offline Documentation
[home] [installing MINOS software] [supported platforms] [package links] [mailing list] [HyperNews] [FAQ] [computing help] [MINOS glossary] [archives]

Setup the MINOS Offline Software at FNAL



Setup of the MINOS offline software at FNAL is relatively painless. This can be done for any FNAL machine that has access to the BlueArc /grid/fermiapp mount (AFS access in dire cases); the machine need not be part of the FNALU or MINOS clusters.

By defining a simple alias/function one can easily setup base release versions built at FNAL on demand. It is recommended that one not actually run the setup in your .bashrc or .cshrc script; doing so can interfere with your environment in cases where you need a clean login (building non-MINOS packages or running flugg, etc.) and also causes this to be run for every sub-shell that is invoked (i.e. all steps in a piped command, etc.).

Using bash:

Add the following lines to your .bashrc file: export MINOS_SETUP_DIR=/grid/fermiapp/minos/minossoft/setup setup_minos() { source $MINOS_SETUP_DIR/setup_minossoft_FNALU.sh $* }

Using tcsh:

Add the following lines to your .cshrc file: setenv MINOS_SETUP_DIR /grid/fermiapp/minos/minossoft/setup alias setup_minos 'source $MINOS_SETUP_DIR/setup_minossoft_FNALU.csh \!*' We have essentially completed the transition from building our base releases on AFS over to BlueArc disk. No more updated builds are being done on AFS and the nightly "development" build is stale. The only reason for not removing the AFS area is so that the control room computers (which have AFS, but lack BlueArc mounts) can make use of R1.26 for pseudo-online tasks.

The BlueArc copy is usable on the grid nodes without the need for "parrot" to fake the AFS file system and the default for minos_jobsub has been flipped to not enable it.

Setup desired version:

Then (using either shell) $ setup_minos will setup the development version.

The visible results of the setup should be a few lines that look similar to:

MINOSSOFT release "development"
SRT_SUBDIR=Linux2.6-GCC_3_4 ROOT=trunk EXTERN=v03 CONFIG=v01
cluster node minos53 SCRATCH=/local/scratch53
gminos_jobs "/grid/fermiapp/minos/products/prd/GMINOS_JOBS/development"
setup "test" version of LABYRINTH [ linux , FNALU ]
using NEUGEN3 development
explicitly setting up GCC3_4_3 version of GEANT
using PYTHIA6 (v6_422) for LUND
Details may vary depending on the current status of the software and the platform.

Important Note Concerning development Release:

The development release is updated against the CVS repository and rebuilt nightly at ~10pm FNAL time. Normally this is an incremental build (i.e. only rebuilding things that have changed), but on Sunday night the whole set of libraries are removed and built from scratch. The build procedure can cause running jobs to fail at the time a library the job is using is changed. Thus while it is desirable to develop code against the development release, long running overnight jobs should not be run using it.

Using

$ setup_minos -r snapshot $ setup_minos -r R2.0.3 will setup the latest available snapshot or the frozen release R2.0.3. The setup script takes care of removing vestiges of any prior setup to avoid mixing environments, so one setup can follow another in the same shell session.

Other setup options:

$ setup_minos -h
Usage: setup_minossoft [-O|-o] [-r release] [-q upsqual] 
  -h:      this helpful message                      
  -V:      increase setup script verbosity           
  -l:      list possible versions                    
  -r arg:  release [default "development"]         
  -q arg:  UPS qualifier (e.g. GCC_4_1)              
  -d arg:  DB rollback date                          
  -O:      minossoft built with optimizer (SRT_QUAL=maxopt) 
  -o:      optimized ROOT, unoptimized minossoft     
  -U:      define database update env variables      
 
Expert only:                                         
  -c arg:  created script flavor (csh,sh)            
  -K:      keep script                               
  -D:      toggle send datagram                      
  -a:      force AFS version area setup              
  -g:      force /grid/fermiapp area setup (default) 
  -v arg:  GCC_version (3_1, 3_2, 3_3, 3_4) (not recommended)
Besides the -r option, the most commonly used options are: