Software Installation From Source¶
The entire LBNE software suite can be installed from source in an automated fashion. The automation is based on three ingredients:
Simple, Automated Installation¶
The simplest way to install from source is with the "lbneist" script.
- Download the high-level script: lbneinst
- Run it:
$ chmod +x ./lbneinst $ ./lbneinst <tag>
The tag is of the form:
The list of available tags can be found by checking LBNE_Software_Releases.
Note, the "lbneinst" script comes from this same repository and you may need to get a particular version of the script that matches the version of the LBNE suite you want to install.
Example with LArSoft¶
$ ./lbneinst larsoft-1.00.02_build-1
Piece-wise, Automated Installation¶
The "lbneinst" script simply automates some high-level steps and encodes a connection between the version of LBNE specific worch extensions and worch+waf themselves. These high level steps can be done explicitly:
Get the LBNE worch configuration¶
$ git clone http://cdcvs.fnal.gov/projects/lbne-software-worch
Note, if you wish to commit back you should either do the initial clone or add another remote using the URL:
Select the suite version (optional)¶
The lbne-software-worch repository is tagged to indicate what it can build. The tag is composed of four parts as seen in the above example:
- suite name :: this is a common name for the suite of software that can be built by the tagged release. It often is taken to be the name of the primary application (eg, "larsoft")
- suite version :: this is a version string associated with the suite or primary application from the suite.
- build-N :: a simple version indicating improvements in the build process itself for the particular suite
$ cd lbne-worch-config/ $ git checkout <tag>
Get worch itself¶
Worch is at:
$ git clone https://github.com/brettviren/worch.git
The specific version of worch should be relatively independent from the version of lbne-software-worch used but a specific version may be indicated by the settings in the file:
It can be used to checkout a specific version.
The git clone of worch contains a copy of waf. Currently a few fiddly-bits need massaging.
$ cp worch/wscript . $ export PYTHONPATH=`pwd`/lbne-software-worch:`pwd`/worch $ alias waf=`pwd`/worch/waf # optional but convenient $ waf [options] configure build
The required option is:
SUITE with the desired suite name.
Other likely options are: