You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

Building Gaudi

The official Gaudi Home Page:   http://proj-gaudi.web.cern.ch/proj-gaudi/

Our outdated GLAST Gaudi home page:   http://www-glast.slac.stanford.edu/software/gaudi/

A good point of contact if having trouble:  Pere Mato (Pere.Mato@cern.ch).

Obtaining the source

The Gaudi home Page sees modification from time to time, especially on the timescale of our upgrades - so this information is as of June,2006. 
Access the Releases page off the Gaudi home page:  http://proj-gaudi.web.cern.ch/proj-gaudi/releases/
Click on the Doxygen link for the version you are interested in.
The Doxygen page for a particular release will provide a Download for the Gaudi source.

Obtaining the external libraries that Gaudi uses

Accessing the Gaudi external libraries is separate from downloading Gaudi itself.  Again, the Gaudi Home Page does see reorganization from time to time, this information is current as of June,2006.
Access the Releases page off the Gaudi Home Page:  http://proj-gaudi.web.cern.ch/proj-gaudi/releases/
Click on the Doxygen link for the version you are interested in.
The Doxygen page will include a link called "Related External Libraries" 
For example for Gaudi v18r1:  http://proj-gaudi.web.cern.ch/proj-gaudi/releases/v18r1/doxygen/externaldocs.html*Note the version of LCGCMT, in this case LCGCMT_40a.*

This page is helpful in that it provides the version of all Gaudi external, however, I have found that it does not necessarily provide useful links for obtaining the binaries for all platforms.  I found the following link much more helpful in that all the binaries are available in one location:
http://service-spi.web.cern.ch/service-spi/external/distribution/

On the windows side - many libraries are only provided in debug mode.  The Gaudi team does not have the time or resources to provide non-debug optimized versions - they use Windows as a development environment and not for production.

In addition to downloading the libraries, also download the appropriate version of LCGCMT_*, this package acts as their IExternal package and is necessary to compile Gaudi.

Compilation

Unpack all the source and binaries you have downloaded. 

Once LCGCMT has been unpacked you may have a directory tree that looks like:
LGCCMT/LCG_CMT40a/LCG_Interfaces - contains packages that behave like our IExtermal package where the subpackages determine how to find the external libraries
LCGCMT/LCG_CMT40a/LCG_Settings - requirements file sets up global environment to find externals - in particular it defines the tags for the various operating systems and compilers
LCGCMT/LCG_CMT40a/LCG_Policy - like our GlastPolicy

Gaudi uses CMT, so building goes something like this:
From within the Gaudi cmt directory
  cmt broadcast "cmt config"
  source setup.sh (setup.bat)
  make   (nmake /f nmake)

Windows

set CMTBIN = VisualC
set CMTROOT=C:\heather\glast\tools\CMT\v1r16p20040901
set CMTVERSION=v1r16p20040901
set CMTPATH=C:\heather\gaudi\GAUDI\GAUDI_v18r1;C:\heather\gaudi\LCGCMT;C:\heather\gaudi\LCGCMT\LCGCMT_40a;C:\heather\glast\tools

set CMTCONFIG=win32_vc71_dbg
set SITEROOT=C:\heather

Update LCG_Settings/cmt/requirements:
set LCG_home=C:\heather
set LCG_releases - determines path to find POOL and SEAL
set LCG_external - determines path to find other externals like AIDA...  haven't experimented with makeing LCG_external == LCG_releases

Update LCG_Interfaces/CLHEP/cmt/requirements
CLHEP_version - version number of CLHEP for Gaudi v18r1 it is 1.9.2.2
CLHEP_home -  points to our CLHEP external example: $(GLAST_EXT)/CLHEP/$(CLHEP_native_version)
 
add python.exe to the PATH if it isn't already.

Reorganization of includes and libraries

  • No labels