GlueX Software Setup
From GlueXWiki
Contents
Offline Software Overview
Required Lab-External Software
- GSL: Homepage, Source Tarballs
- Xerces: Homepage, Source Tarballs
- CERNLib: Homepage, CERNLib Installation Notes, OpenMotif
- CLHEP: Homepage, Source Tarballs
- ROOT: Homepage, Source Tarballs (e.g. root_v5.34.19.source.tar.gz), Installing from Source
Required Lab-Internal Software
- CCDB: Tagged Releases, Trunk
- HDDS: Tagged Releases, Trunk
- JANA: Downloads, Tagged Releases, Trunk
- Hall-D sim-recon: Tagged Releases, Trunk
- Hall-D scripts: Trunk
Optional Software
- AmpTools:
Build Dependencies
- If you re-build one of the following, you must also rebuild (in order):
Xerces: HDDS, JANA, sim-recon ROOT: JANA, sim-recon CCDB: JANA, sim-recon HDDS: sim-recon JANA: sim-recon EVIO: sim-recon
Environment
- There should be three levels for the software environment: user-specific, release-specific, and base. For best-practice, environment variables should NEVER EVER (!!) be put in your .cshrc (or equivalent) file. This is because if you ever need to switch between environments (e.g. between a "data challenge" release and the latest trunk) it gets very messy and it's very easy to make a mistake. It's far safer (and cleaner) to keep everything separate. Ignore this at your own peril ...
User-Specific Environment Setup
- This is so that users can link against a centrally-managed release. For example, they can define their $HALLD_MY variable here, which specifies where their plugins are installed. This should call the desired release-specific build. For example, env_gluex_user.csh:
# Set personal path (This usually corresponds to the home area of the trunk (e.g. https://halldsvn.jlab.org/repos/trunk/home/pmatt/)) setenv HALLD_MY /home/$USER/gluex/home/$USER/ # Source the release environment source /home/gluex/env_gluex_2014_06_30_rhel6
- Also, advanced users (e.g. developers) can use this to override the release-specific variables (e.g. A test build of sim-recon ($HALLD_HOME)). For example, env_gluex_development.csh:
# (FOR DEVELOPERS ONLY): Override release-specific HALLD_HOME (or other software paths) for custom (i.e. development) builds. setenv HALLD_HOME /home/$USER/gluex/sim-recon/development/ # Source the release environment source /home/gluex/env_gluex_2014_06_30_rhel6
Release-Specific Environment Setup
- E.g. env_gluex_2014_06_30_rhel6
Base Environment
env_gluex_base