Gaudi Install

From Daya Bay

Jump to: navigation, search

Note: this topic is obsolete, you should instead read Offline Software Installation.


Overview

Note: this topic is obsolete, you should instead read Offline Software Installation.


Required Software

CMT

CMT is used to build the software and manage your user environment.

Geant4

Geant4 provides detector simulation.

Gaudi

Gaudi provides a software framework which is the basis of the offline.

LCGCMT

LCGCMT is a suite of software packages collected for LHC experiments. Daya Bay needs only a small subset of LCGCMT.

Downloading the software

All required software is downloaded as source, either from the Daya Bay SVN repository or from the distribution site specific to each software package during the installation procedure.

For some cases, there is support for using existing, previously installed binary packages. CERN provides pre-built LCGCMT packages for some platforms. To make use of these see the LCGCMT Binaries topic for additional information.

Preliminaries

Installation location

Pick a location that has at least 3GB of space available.

Gain access to ROOT CVS

If you have never accessed ROOT's cvs repository use the following command:

cvs -d :pserver:cvs@root.cern.ch:/user/cvs login

with a password of "cvs". More info at http://root.cern.ch/root/CVS.html

Download and install CMT

Download CMT from [1] and follow the installation instructions given. The following assumes that CMT is installed and your environment is configured to use it, ie you have done:

source /path/to/cmt/install/vXrYpZ/mgr/setup.sh

Install

Checkout a release

See Category:Offline Software Releases for information on downloading a release of the offline software, which includes Gaudi and LCGCMT glue packages. What follows assumes the "trunk" is chosen.

mkdir -p /path/to/install/
cd /path/to/install/
svn co http://dayabay.ihep.ac.cn/svn/dybsvn/core/trunk core

Initial Environment Setup

After the checkout do:

cd core/
export SITEROOT=`pwd`
export CMTPROJECTPATH=$SITEROOT
export CMTEXTRATAGS=dayabay

Confirm proper setup

One common problem is manifest in the proper setting of LCG_system macro. To test it do the following:

 cd ${SITEROOT}/lcgcmt/LCG_Settings/cmt
 cmt config
 cmt show macro LCG_system

It should print something like:

# Package LCG_Settings v1 defines macro LCG_system as 'debian_x86_gcc4' for tag 'debian&gcc403'
#
# Selection :
LCG_system='debian_x86_gcc4'

Instead, if it mentions rh73_gcc32 or other incorrect platform string, there is a problem and you should not proceed until it is fixed. Seek help from:

* Use of Alternative Compiler
* The Offline mailing list

Install LCGCMT

Installation of LCGCMT involves building binaries of the various 3rd party software packages. This has been automated using a suite of scripts in

$SITEROOT/lcgcmt/scripts/

They can be run individually or en masse with

$SITEROOT/lcgcmt/scripts/all.sh

By default they will handle downloading and building the correct version of the package, as defined in the corresponding LCGCMT glue package. In some cases, they will attempt to use existing installed versions of a package, if found.

The result will be the population of:

$SITEROOT/external/

You can do a consistency check via:

bviren@lycastus:core> ./lcgcmt/scripts/versions.sh
Boost at 1.33.1 in /home/bviren/work/dayabay/svn/core/external/Boost/1.33.1/debian_x86_gcc4 okay
Python at 2.4.4 in /home/bviren/work/dayabay/svn/core/external/Python/2.4.4/debian_x86_gcc4 okay
CLHEP at 1.9.2.3 in /home/bviren/work/dayabay/svn/core/external/clhep/1.9.2.3/debian_x86_gcc4 okay
GCCXML at 0.6.0_patch3 in /home/bviren/work/dayabay/svn/core/external/gccxml/0.6.0_patch3/debian_x86_gcc4 okay
Geant4 at 4.8.3 in /home/bviren/work/dayabay/svn/core/external/geant4/4.8.3/debian_x86_gcc4 okay
HepPDT at 2.02.02 in /home/bviren/work/dayabay/svn/core/external/HepPDT/2.02.02/debian_x86_gcc4 missing
ROOT at 5.14.00f in /home/bviren/work/dayabay/svn/core/external/root/5.14.00f/debian_x86_gcc4/root okay

As you can see, HepPDT failed to install in this example.

Using LCGCMT binaries from CERN

If you would rather use a binary LCGCMT release from CERN follow the instructions in the LCGCMT Binaries topic, instead of running these scripts.

Building Gaudi

Once the above is done, building Gaudi is a simple matter of:

cd $SITEROOT/gaudi/GaudiRelease/cmt/
cmt br cmt config
source setup.sh
cmt br make
Personal tools