Scripts for Installing GlueX Software

From GlueXWiki
Jump to: navigation, search

This page is deprecated. For the current version, see "The gluex_install System" section of A Version Management System for GlueX (GlueX Note 2793).


I have developed a set of scripts for installing GlueX software on several flavors of Linux. No interaction from the user should be required to get a successful build. The only assumption made is that the basic packages that come in a minimal install are present.[1]

Tested Distributions

The scripts have been tested on the following distributions:

Distribution Package Type
CentOS RedHat
Scientific Linux RedHat
Ubuntu Debian
Fedora RedHat
LinuxMint Debian
openSUSE RedHat
RedHat Enterprise RedHat

Installation Steps

Root access is required for steps (0) and (2).

0. system update

It is recommended that you update your system to the latest versions of of all system supplied software. For RedHat-like distributions you do a "yum update". For Debian-like systems you do a "apt-get update".

1. get the scripts

A tar file with these scripts is available at https://halldweb.jlab.org/dist/gluex_install.tar . You can also do a subversion check out of the latest version at https://halldsvn.jlab.org/repos/trunk/scripts/gluex_install . Note that most distributions do not have subversion in their minimal set of packages.

2. prerequisites: gluex_prereq_<distribution>.sh

The prerequisites script installs packages from the distribution repository necessary for the GlueX build. As such, it must be executed by root. In addition it makes some symbolic links in system directories that are necessary for the cernlib build. These scripts are specific to particular distributions. You must run this script from inside the "gluex_install" directory created when you get the scripts (see "Get the Scripts" in step 1).

3. subversion test: svn_touch.sh

Simply does an "ls" of the Hall D and 12 GeV subversion repositories at JLab, both as a test and to dispense with interactive prompts asking about certificates from the servers. Respond with "p", to permanently accept the certificates. These prompts would otherwise hang the build. If you are not prompted, you already recognize the certificates. The script is distribution independent.

4. install: gluex_install.sh

Creates a directory, "gluex_top", in the current working directory to house the build, sets up an environment, downloads all source files, and builds all libraries and executables needed to run GlueX software. The install assumes a directory structure that accomodates multiple versions of the GlueX packages if they are needed later. The script is distribution independent.

The following software packages are built from source.

  • xerces-c
  • CERNLIB
  • ROOT
  • CLHEP
  • EVIO
  • CCDB
  • JANA
  • HDDS
  • sim-recon

Using the Build

After the build is complete, there are two files in the gluex directory, setup.sh and setup.csh, that can be used to set-up the complete GlueX environment under Bourne-like shells or C-like shells respectively.

Future Work

  • reduced set of built packages (GlueX minimal set)
  • version configuration via XML file
  • addition of other distributions
  • explore integration with gridmake
  • add build of amptools
  • change Geant4 install to use cmake
  • document the directory structure

  1. The definition of minimal depends on the installation. In all cases, the distribution was tested by first installing from a DVD or CD iso image. Typically, the "live CD" version was chosen since that installs the smallest number of packages.