Scripts for Installing GlueX Software

From GlueXWiki
Revision as of 21:48, 10 November 2014 by Marki (Talk | contribs) (Installation Steps)

Jump to: navigation, search

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]

Root access is required for installing prerequisite packages on the system.

This is beta software as of June 22, 2013.

Tested Distributions

The scripts have been tested on the following distributions:

Distribution Package Type System
CentOS 6 RedHat x86_64
CentOS 7 RedHat x86_64
Scientific Linux 6 RedHat x86_64
Ubuntu 12.04 Debian i386
Ubuntu 12.04 Debian x86_64
Ubuntu 14.04 Debian x86_64
Fedora 18 RedHat x86_64
Fedora 20 RedHat x86_64
LinuxMint 15 Debian x86_64
openSUSE 12.3 RedHat x86_64
RedHat Enterprise 6 RedHat x86_64

Installation Steps

The installation proceeds in three steps, one script per step.

1. 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 below).

2. 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.

3. install: gluex_install.sh

Creates a directory, "gluex", in the current working directory for 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

Getting the Scripts

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

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.