Deprecated: Setting Up the GlueX Environment

From GlueXWiki
Jump to: navigation, search

Isn't this obsolete?

At least in parts this seems outdated. For one, there is no sim_recon anymore. However, I can't judge whether there is still any useful info left. I also left a comment in the discussion, however, all previous authors are not part of the group anymore. So, this edit serves as a warning to the unsuspecting newbie. Joerg Reinhold

Start of page

We have two methods for setting up the environment for GlueX software. They are complementary; depending on what you want to do one will be more appropriate than the other. Let's call them "build_scripts" and "setenv".


See this section of the Build Scripts GlueX Doc.

  • Advantages: do not need a pre-existing build, can customize configuration without re-writing scripts.
  • Disadvantages: more complicated.


For every complete build of sim-recon, a setenv.csh and a file is produced. Sourcing the appropriate file will reproduce the GlueX-related environment that was used to build that version of sim-recon exactly. Find the files under the BMS_OSNAME directory (directory that looks like Linux_RHEL7-x86_64-gcc4.8.3 for example, pick the one appropriate for your platform) of HALLD_HOME.

If you need custom settings of the environment, make a copy of the appropriate file and edit it. The file is nicely formatted and the changes you need are not hard to figure out.

  • Advantages: nothing to change, guaranteed consistency
  • Disadvantages: customization by direct editing of script, need pre-existing successful build to start

Script Location at JLab

You can find the setenv scripts in the following directory:

 /group/halld/Software/builds/$BMS_OSNAME/sim-recon/sim-recon-<version number>/$BMS_OSNAME

where <version number> is the sim-recon version number you would like to use and $BMS_OSNAME is the "osrelease" identifier. To find a list of versions, see the sim-recon releases page. To get the osrelease identifier, execute the following command:


This script will print the appropriate value of $BMS_OSNAME to standard output. Alternatively you can set the BMS_OSNAME environment variable in C-shell-like shells with

 setenv BMS_OSNAME `/group/halld/Software/build_scripts/`

or in Bourne-shell-like shells with


Optional, Additional, User-specific Environment Variables

There are several optional, additional, user-specific environment variables that can be set:

  • $JANA_RESOURCE_DIR: Set this variable to any directory path. If defined, this directory is where JANA will download external resources needed for reconstruction, such as the magnetic field map.
  • $HALLD_MY: Set this variable to any directory path. This folder is then intended to contain your personal code, such as your analysis plugins. If this variable is defined prior to sourcing the environment, the appropriate subfolders will be added to $PATH, $LD_LIBRARY_PATH, and $JANA_PLUGIN_PATH, so that you can use your plugins/etc. within JANA.
  • When performing an analysis, you should use an SQLite file rather than directly accessing the CCDB database. If the path to your SQLite file is set by $SQLITE_PATH (variable not necessary, defined for convenience), change the following environment variables to:
setenv JANA_CALIB_URL sqlite:///${SQLITE_PATH}