Installing the Mu2e Tool Chain
|
||
Working groups |
Blessed plots and figures |
Approving new results and publications |
Approval web pages - new results |
Approval web pages - new publications |
Mu2e Acronyn Dictionary |
Fermilab Meeting Rooms |
Fermilab Service Desk |
ReadyTalk : Home |
ReadyTalk : Help |
ReadyTalk : Toll Free Numbers |
This page explains how to install prebuilt binary versions of the software tool chain needed to build and run Mu2e Offline at a remote site; here a "remote site" means any computer that does not mount one of:
Should you need/wish to build the tool chain from source, you can follow the instructions for building the tool chain from source.
Table of Contents
The difference between the last two options is where you put the version number of the requested version of art. In the script for v1_12_02 and earlier a new download script is created for each new release and the version number is embedded into the screipt name. In the script for v1_12_04 and script does not change from version to version and the version number is supplied as an argument to the script.
Version v1_12_03 was an integration release will not be distributed.
The tool chain needed to run Mu2e Offline at a remote site includes the following parts:
The above files may be owned by any user, provided they are readable, and, if appropriate, executable, by Mu2e users at your site. However we do suggest that you create a separate account for installing these files; this way you cannot accidentally delete them when logged in to your own account; if you decide to use a separate account, there are no restrictions on the name of the account but it should be in the same group as regular Mu2e users and the files should be group readable and, if appropriate, group executable. In summary, using a separate account to own the tool chain is not necessary but it is a recommended saftey practice.
The table below lists the operating systems for which the art team provides binary distributions. The binary distributions are built for 64 bit hardware but not for 32 bit hardware.
OS Version | Marketing Name | art Mnemonic | ||
---|---|---|---|---|
Scientific Linix Fermi, Version 5 | sfl5 | |||
Scientific Linix Fermi, Version 6 | sfl6 | |||
Scientific Linix CERN, Version 5 and 6 | (see note below) | |||
Scientific Linix, Version 5 and 6 | (see note below) | |||
Mac OSX 12 | Mountain Lion | d12 | ||
Mac OSX 13 | Mavericks | d13 |
For the MAC OSX versions, the letter "d" in the mnemonic names "d12" and "d13" refers to "Darwin", which is Apple's name for OSX. The d12 version is known to work when run on a few specific earlier releases of Mac OS, specifically, Snow Leopard (OSX 10.8) and Lion (OSX 11).
Officially the art team does not support Scientific Linux CERN (SLC) or plain Scientific Linux (SL) but several users have reported that installing the SLF binaries on SLC or SL machines "just works". This is not surprising since the differences among these OS versions involve only authentication.
If you wish to use the Mu2e Offline on a platform not discussed above, you will need to build the tool chain from source.
If you have a large computing resource that runs an OS not listed above, you can ask the art team to provide a binary distribution for that platform. For this to happen you will need to give them access to an appropriate machine on which they can build the software. The art team is only likely to agree to this if you are bringing a signficant computing resource to the table.
Before you run the installation tools you need to decide where to install the software and you need to learn some information about the platform on which you are doing the installation.
export MU2E_TOP=/absolute/path/to/your/local/mu2e/top_level/directory
export ART_VERSION=v1_15_00Consult Offline/setup.sh to learn which version of art you need to download; you can also consult the Mu2e software team.
export ART_OPTIONS=s13-e7See the table below to learn which ART_OPTIONS are required/allowed for which ART_VERSION.
The art team maintains a page that describes the art options. The two options shown in the above example are e7 and s12; each of the numbered e options chooses a compiler version plus compiler flags. The numbered s options are used by products that depend on an art version (for example ifdh_art), not by art itself; the s option is a mnemonic for which vesion of art it depends on.
The table below gives the correct values of ART_VERSION and ART_OPTIONS for all versions of art that have been used by Mu2e, starting from art v1_12_04.
ART_VERSION | ART_OPTIONS | |
v1_12_04 | s5-e6 | |
v1_13_01 | s7-e7 | |
v1_15_00 | s13-e7 |
Temporary Instructions for art v1_15_00
Mu2e is currently in a transition. Starting on July 6, 2015, the BaBar code will be distributed as a ups product, named BTrk. Later in the summer Mu2e Offline will be broken into several pieces, each of which is distributed as a ups product. The ups product distribution system needs to be upgraded to deal with this. While this upgrade is in progress, please follow the temporary instructions below.
Note the change in the prefix from mu2e to mu.
cd ../tmp scp your_kerberos_principle@mu2egpvm01.fnal.gov:/grid/fermiapp/products/mu2e/Downloads/BTrk_v1_00_08.tar.gz . cd ../artexternals tar xzf ../tmp/BTrk_v1_00_08.tar.gzThis copies a gzipped tar file that contains the required version of the BTrk ups product. It then installs it at the right spot in the artexternals directory.
When the transition is complete, these temporary instructions will no longer be necessary and the instructions for art v1_12_04 will again be correct.
What's going on here? The pullProducts system is driven by files, called manifests, that list all of the products needed to create a complete distribution. The pullProducts script parses arguments 2 through 5 to determine which manifest it needs to use. It then fetches the compressed tar files specified in the manifest and unwinds them into the target directory.
For each fully flavor-qualified version of art there are several manifests that are customized for different experiments, or groups of experiments. For example the bare art distributions with no experiment specific extras has art in its name. The one that Mu2e uses has mu2e in its name; this contains the art distribution plus our versions of geant4, scons, heppdt and splines. All of these products are maintained, built and distributed by the art team. As it happens, the mu2e manifest is also used by the muon g-2 experiment. There are also manifests customized for NOvA and for the LArSoft experiments.
Starting with art version v1_15_00 the manifest that is common to both Mu2e and Muon g-2 will simply be called mu.
This frees up the name mu2e for reuse. In the near future there will be a new manifest named mu2e. It will contain the contents of the mu manifest plus additional products that are built by Mu2e; the first of these will be the BaBar tracking code packaged as a UPS product named BTrk.
Lynn plans to make a set of symlinks so that either mu or mu2e will work for distributions between art v1_12_04 and art v1_15_00. As of July 5, 2015 this had not been done.
Cheat Sheet For art v1_12_04 and later
cd ${MU2E_TOP}
mkdir artexternals mkdir DataFilesThe following instructions presume that you used exactly these subdirectory names.
mkdir tmp cd tmp curl -O http://scisoft.fnal.gov/scisoft/bundles/tools/pullProducts chmod u+x pullProductsIf curl is not available on your machine, wget may be:
wget http://scisoft.fnal.gov/scisoft/bundles/tools/pullProducts
./pullProducts ${MU2E_TOP}/artexternals slf6 mu2e-${ART_VERSION} ${ART_OPTIONS} prof
./pullProducts ${MU2E_TOP}/artexternals slf6 mu2e-${ART_VERSION} ${ART_OPTIONS} debugThe pull Products script is smart enough that it will only copy UPS products that are not already present; for example the Geant4 data files
cd .. /bin/rm -rf tmp
scp your_kerberos_principal@mu2egpvm01.fnal.gov:/grid/fermiapp/products/mu2e/setupmu2e-art.sh .Be careful, there is a second argument to scp, a dot, asking scp to copy the requested file into the current directory. Edit the file and replace the definition of MU2E_DATA_PATH with the absolute path to the DataFiles directory created above. The Fermilab setupmu2e-art.sh also ensures that git is available to users; if necessary, replace this with whatever needs to be done at your site to ensure that git is available to users. If you want to run the art workbook at your site, set the 3 workbook-related environment variables to values appropriate for your site.
mkdir -p DataFiles/BFieldMaps/Mau9 scp -r mu2egpvm01.fnal.gov:/grid/fermiapp/mu2e/DataFiles/BFieldMaps/Mau9 DataFiles/BFieldMaps/Mau9
mkdir -p DataFiles/ExampleDataFiles/StoppedMuons scp -r mu2egpvm01.fnal.gov:/grid/fermiapp/mu2e/DataFiles/ExampleDataFiles/StoppedMuons DataFiles/ExampleDataFiles/StoppedMuonsYou will also need to edit your fcl files to tell the event generators where to find the stopped muon files.
source ${MU2E_TOP}/setupmu2e-art.sh
Cheat Sheet for art v1_12_02 only
cd ${MU2E_TOP}
mkdir artexternals mkdir DataFilesThe following instructions presume that you used exactly these subdirectory names.
mkdir tmp cd tmp curl -O http://scisoft.fnal.gov/scisoft/projects/art/${ART_VERSION}/pullProducts-${ART_VERSION} chmod u+x pullProducts-${ART_VERSION}If curl is not available on your machine, wget may be:
wget http://scisoft.fnal.gov/scisoft/projects/art/${ART_VERSION}/pullProducts-${ART_VERSION}
./pullProducts-${ART_VERSION} ${MU2E_TOP}/artexternals slf6 mu2e ${ART_OPTIONS} prof
./pullProducts-${ART_VERSION} ${MU2E_TOP}/artexternals slf6 mu2e ${ART_OPTIONS} debugThe pull Products script is smart enough that it will only copy UPS products that are not already present; for example the Geant4 data files
cd .. /bin/rm -rf tmp
scp mu2egpvm01.fnal.gov:/grid/fermiapp/products/mu2e/setupmu2e-art.sh .Be careful, there is a second argument to scp, a dot, asking scp to copy the requested file into the current directory. Edit the file and replace the definition of MU2E_DATA_PATH with the path to the DataFiles directory created above. The Fermilab setupmu2e-art.sh also ensures that git is available to users; if necessary, replace this with whatever needs to be done at your site to ensure that git is available to users.
mkdir -p DataFiles/BFieldMaps/Mau9 scp -r mu2egpvm01.fnal.gov:/grid/fermiapp/mu2e/DataFiles/BFieldMaps/Mau9 DataFiles/BFieldMaps/Mau9
mkdir -p DataFiles/ExampleDataFiles/StoppedMuons scp -r mu2egpvm01.fnal.gov:/grid/fermiapp/mu2e/DataFiles/ExampleDataFiles/StoppedMuons DataFiles/ExampleDataFiles/StoppedMuonsYou will also need to edit your fcl files to tell the event generators where to find the stopped muon files.
Security, Privacy, Legal |