The following procedures describe the installation process for xDAQ releases for the HCAL Upgrade project.
NOTE that the code has been migrated to SVN (instead of CVS) as of 02/07/2013, hence these instructions have since then been updated. Here is a link to the HCAL online SVN:
cmshcos
.
Though these processes are presented as specific to BU's machine, the steps can easily be generalized to any other SLC5 machine with a
daqowner
account and a xDAQ installation.
NOTE!!! These examples show how to install release 11_8_1, but the process can be generalized to any xDAQ release xx_x_x.
Install a Release as daqowner
Before any other
cms2
users can run the release software, it must be installed by
daqowner@cms2.bu.edu
. Check to make sure the release isn't already installed before following this procedure!
- Log in as
daqowner
:
ssh daqowner@cms2.bu.edu
- Get the installation script from the
cmshcalweb
database:
wget http://cmshcalweb01.cern.ch/hcalsw/release/installDAQ_11_8_1.perl
- Run the installation script:
perl installDAQ_11_8_1.perl --mode=teststand
- Once the installation script has finished, pick the correct release:
~daqowner/common/bin/pickRelease.sh
Available installed releases
1 ) 11.0.7
2 ) 11.2.3
3 ) 11.3.1
4 ) 11.4.0
5 ) 11.4.2
6 ) 11.4.3
7 ) 11.5.0
8 ) 11.5.1
9 ) 11.5.2
10 ) 11.5.3
11 ) 11.5.5
12 ) 11.5.6
13 ) 11.6.0
14 ) 11.6.2
15 ) 11.6.3
16 ) 11.6.4
17 ) 11.6.5
18 ) 11.7.0
19 ) 11.7.1
20 ) 11.7.2
21 ) 11.7.3
22 ) 11.7.7
23 ) 11.8.1
Pick release to use: 23
- Set the environment for this release:
~daqowner/dist/etc/env/env.sh
or, if you are using the tc-shell:
~daqowner/dist/etc/env/env.csh
You are now ready to run the executables! See the
AMC13 Tool: Getting Started section to learn about the primary AMC13 executable.
Install a release in your own source tree
If you want to
edit the xDAQ code without interfering with others, then you will need to check out a copy of the release into your own source tree. From there you can check any changes back into CVS.
NOTE!!! These examples show how to install release 11_8_1, but the process can be generalized to any xDAQ release xx_x_x.
- If you are going to be a regular developer, it is a good idea to establish a Kebros SSH ticket (at Jeremy's strong recommendation) as discussed here
. If I may quite Jeremy: "This will make your life much_better."
- First, ensure that the release you want to work with is the current one, as such:
ls -l /home/daqowner/dist
lrwxrwxrwx 1 daqowner daq 25 Jan 5 09:56 /home/daqowner/dist -> /home/daqowner/daq.11.8.1
If the release is not the one you want, use pickRelease.sh
(instructions shown above) or install the desired release.
- Copy the installation script to your login directory (or whatever directory you want to keep your installation scripts):
cp ~daqowner/installDAQ_11_8_1.perl ${HOME}/
- NOTE: This is wrong. It appears that if you simply omit the "--svnuser" argument that it will check out anonymously, but I have no way to check this right how.
If you want to check the xDAQ code out of SVN
anonymously (i.e. if you do not have an afs ID or don't care to have access to the repository), edit the script, search for "anonymous", and remove the
#
comment mark. Otherwise, if you have an afs ID and want access to the repository, skip this step.
- Run the installation script, ownsourcing the code to your
${HOME}/src
directory:
perl ~/installDAQ_11_8_1.perl --mode=teststand --ownsource=${HOME}/src/11_8_1 --packages=hcalUpgrade --svnuser=[afsID]
- NOTE that you can put the code into any directory you like; it doesn't have to be
${HOME}/src/11_8_1
.
- NOTE that you can also install additional packages, if you wish; you're not limited to the hcalUpgrade. However, ALL of the AMC13 code lies within the hcalUpgrade package!! If
packages
is not specified, then all packages are installed by default.
- NOTE that the uHTR code is in the
hcalUHTR
package (e.g. if you wanted both the hcalUpgrade, hcalUHTR, and hcalBase packages the option would look like: --packages=hcalUpgrade,hcalUHTR,hcalBase
)
- NOTE that if you removed the "anonymous" comment mark in the previous step, you do not need the
svnuser
argument.
- Set the environment for your new ownsource code development area:
source /home/daqowner/dist/etc/env.sh
- If you provided your "svnuser" afs ID (and therefore have access to the repository), update the software to the latest code in SVN (in case changes have been checked in by other parties since this release):
cd ~/src/11_8_1/hcal/hcalUpgrade/
svn update
- Build the code in exactly the following order (NOTE: version 11.12.0 and on, the ipbus dependency is remove and you should skip this step):
cd ~/src/11_8_1/hcal/hcalUpgrade/ipbus/
make
- Continue building the code in exactly the following order:
cd ../amc13
make
cd ../
make
- After the code is done building, link the amc13 library path
export LD_LIBRARY_PATH=${HOME}/src/11_8_1/hcal/hcalUpgrade/amc13/lib/linux/x86_64_slc5/:${LD_LIBRARY_PATH}
- You have finished! You are now ready to run the AMC13Tool executable and edit your private development area!
If you wish to edit the AMC13 code, you can make changes to the source code in
${HOME}/src/11_8_1/hcal/hcalUpgrade/amc13/src/common/
and then go back up to the
/amc13
level to recompile using
make
.
Check edited code back into SVN
If you have edited the AMC13 code and want to make the edits available to other developers (important for bug fixes!), you will need to check your changes back into SVN. If you are unfamiliar with SVN, it is a good idea to take a quick gander at the
Subversion Manual
before proceeding. For a more succinct look at the basic SVN commands, check out
this site
.
IMPORTANT!!! It is
imperative that you
make sure your edited code compiles and runs without breaking before checking changes into SVN. The HCAL Upgrade does not want to release busted software!
- Go to the
hcal/hcalUpgrade
level of the release directory and svn update:
$ cd ~/src/11_8_1/hcal/hcalUpgrade
$svn update
This makes sure that your code is up to date with all "outside" changes since the release and that your edits do not conflict with others'.
- In the
hcal/hcalUpgrade
directory, run an svn status
command to make to see what you've changed and to make sure everything is ready for a commit.
$ cd ~/src/11_8_1/hcal/hcalUpgrade
$ svn status
- Be sure that your code compiles and runs properly. Only after you are confident of your changes being effective and accurate should you proceed.
- Update the package's
hcal/hcalUpgrade/include/hcal/upgrade/version.h
file to give the code a new version number. Generally, very small bug fixes would result in the PATCH digit changing, while larger changes would be MINOR. MAJOR version changes should mostly be for backward-incompatible changes. When you increment MINOR, you should set PATCH back to zero, and when you increment MAJOR, MINOR and PATCH should go to zero.
- In the same way as the previous step, update the version number in the file
hcal/hcalUpgrade/amc13/include/hcal/amc13/version.h
.
- If you are maintaining the AMC13Tool Standalone, now is the time to sync the standalone to the current version. (If not, skip to next step)
$cd ~/src/11_8_1/hcal/hcalUpgrade/amc13/amc13Standalone/
./syncAMC13Standalone.sh
- Commit your code into the SVN repository, giving a useful commit message which states your changes to the AMC13 code.
$cd ~/src/11_8_1/hcal/hcalUpgrade/
$ svn commit -m <commit_message>
- Run the script "hcostag" to tag your code in the hcalUpgrade package directory. This script will determine the appropriate tag name and take the necessary SVN actions.
$ cd ~/src/11_8_1/hcal/hcalUpgrade
$ ../config/build/hcostag
- If you are maintaining the AMC13Tool Standalone, now you can prep the release and post the compressed files. (If not, skip to the last step).
- Lastly, it is a good idea to contact the release managers (currently Jeremy Mans <Jeremy.Mans@cern.ch> and Chris West <christopher.alan.west@cern.ch>) to inform them that a new version should be used in the next software release
Subscribe to HCAL Online Software HyperNews
In order to be informed of HCAL Upgrade software releases, you must be registered with the correct CMS
HyperNews subscriptions. Below is the process for getting on the list.
- Go the HyperNews webpage
and log in with your afs credentials
- Click on the Subscribe to Forums link at the top of the screen
- Under the Category: Detector Subsystems section, select HCAL Online Software Development
- While you're here, other useful forums to check include HCAL Electronics, HCAL Discussions, and SLHC HCAL Upgrade
You will now receive emails whenever a new software package is built with installation instructions and and release notes
--
EricHazen - 13 Apr 2012