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.

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.

Contents
Install a Release as daqowner
Install a release in your own source tree
Check edited code back into SVN
Subscribe to HCAL Online Software HyperNews

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!

  1. Log in as daqowner:
       ssh daqowner@cms2.bu.edu
       
  2. Get the installation script from the cmshcalweb database:
       wget http://cmshcalweb01.cern.ch/hcalsw/release/installDAQ_11_8_1.perl
       
  3. Run the installation script:
       perl installDAQ_11_8_1.perl --mode=teststand
       
  4. 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
       

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

  1. 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."
  2. 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.
  3. 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}/
       
  4. 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.
  1. 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 and hcalUHTR packages the option would look like: --packages=hcalUpgrade,hcalUHTR)
    • NOTE that if you removed the "anonymous" comment mark in the previous step, you do not need the svnuser argument.
  2. Set the environment for your new ownsource code development area:
       source /home/daqowner/dist/etc/env.sh
       export LD_LIBRARY_PATH=${HOME}/src/11_8_1/hcal/hcalUpgrade/amc13/lib/linux/x86_64_slc5/:${LD_LIBRARY_PATH} 
       
  3. 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
       
  4. Build the code in exactly the following order:
       cd ~/src/11_8_1/hcal/hcalUpgrade/ipbus/
       make
       cd ../amc13
       make
       cd ../
       make
       
  5. After the code is done building, 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!

  1. 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'.
  2. 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
       
  3. Be sure that your code compiles and runs properly. Only after you are confident of your changes being effective and accurate should you proceed.
  4. 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.
  5. In the same way as the previous step, update the version number in the file hcal/hcalUpgrade/amc13/include/hcal/amc13/version.h.
  6. 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
       
  7. 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>
       
  8. 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
       
  9. 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).
    • NOTE: You should have a directory for your AMC13 Standalone Releases which contains prepReleases.sh . If you do not, please make one now.
    • Navigate to you AMC13 Standalone Releases directory and run prepReleases.sh
    • Host both the RPM and MAN versions of the release in a publicly accessible location and post links appropriately to AMC13CppSoftware
  10. Lastly, it is a good idea to contact the release managers (currently Jeremy Mans <Jeremy.Mans@cern.ch> and Shih-Chuan Kao <Shih-Chuan.Kao@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.

  1. Go the HyperNews webpage and log in with your afs credentials
  2. Click on the Subscribe to Forums link at the top of the screen
  3. Under the Category: Detector Subsystems section, select HCAL Online Software Development
  4. 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


This topic: BUCMSPublic > WebHome > HcalDTC > AMC13CppSoftwareBuildNotes
Topic revision: r17 - 19 Jun 2013 - DavidZou
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback