Code: Difference between revisions

From Mu2eWiki
Jump to navigation Jump to search
Line 143: Line 143:
* [https://cdcvs.fnal.gov/redmine/projects/artdaq/wiki artdaq wiki]
* [https://cdcvs.fnal.gov/redmine/projects/artdaq/wiki artdaq wiki]
* [http://rpubs.com/paterno/303233 Paterno memory profiling instructions]
* [http://rpubs.com/paterno/303233 Paterno memory profiling instructions]
* [http://valgrind.org valgrind]]
* [https://cdcvs.fnal.gov/redmine/projects/art/wiki/Getting_started_with_MAP_and_DDT MAP and DDT debuggers]
* [https://cdcvs.fnal.gov/redmine/projects/art/wiki/Getting_started_with_MAP_and_DDT MAP and DDT debuggers]
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuide CMS Framework] [http://cmslxr.fnal.gov/lxr/ LXR]
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuide CMS Framework] [http://cmslxr.fnal.gov/lxr/ LXR]

Revision as of 14:01, 16 June 2020


Building code

  • Basic recipe for creating a satellite release based on 'Mu2e_release' installed in cvmfs
source /cvmfs/fermilab.opensciencegrid.org/products/common/etc/setups
setup mu2e
/cvmfs/mu2e.opensciencegrid.org/Offline/'Mu2e_release'/SLF6/prof/Offline/bin/createSatelliteRelease
cd Satellite
source setup.sh
[add content]
scons -j 4 
  • Basic recipe for setup, full checkout and build (GitHub) (For more details see GitHubWorkflow). The following will produce a working directory that CANNOT be used to update the remote repository. It is useful only for running tests, not for developing code.
source /cvmfs/fermilab.opensciencegrid.org/products/common/etc/setups
setup mu2e
git clone https://github.com/mu2e/Offline
cd Offline
git checkout -b work
source setup.sh
scons -j 4 
  • Basic recipe for setup, full checkout and build (Redmine)
source /cvmfs/fermilab.opensciencegrid.org/products/common/etc/setups
setup mu2e

- The following will produce a working directory that CANNOT be used to update the remote repository.  It is useful only for running tests, not for developing code. -
git clone http://cdcvs.fnal.gov/projects/mu2eofflinesoftwaremu2eoffline/Offline.git

- For a read-write working directory appropriate for developing code.-
git clone ssh://p-mu2eofflinesoftwaremu2eoffline@cdcvs.fnal.gov/cvs/projects/mu2eofflinesoftwaremu2eoffline/Offline.git

cd Offline
git checkout -b work
source setup.sh
scons -j 4 
  • for building options (debug,trigger,visualization) see ./buildopts --help


  • ReleaseList - notes on purpose for each published release
  • UPS - notes on using the UPS product setup
  • git - code repository management
  • scons - primary code build tool
  • Link Lists
  • LXR - cross-linked code browser
  • pgit - git partial checkout for building only the part of the code base you need
  • Satellite Releases - for building only the part of the code base you need
  • Debugging
  • CVS - a few pieces of code are still in the CVS repository

Configuring executables

Modules, Products, and Services

Code Management

Standards and Practices

External Packages