A.5 A 30-Second Introduction to SCRAMv1

Complete: 5
Detailed Review status

SCRAM (Source Configuration, Release, And Management tool) is the CMS build program. It is responsible for building framework applications and also making sure that all the necessary shared libraries are available. There are two versions of SCRAM. SCRAM v0.2 is used for the LCG projects SEAL and POOL and early versions of ORCA, while SCRAM v1 is used for the newer CMSSW. We will only talk about SCRAM v1 here.

Main Commands

There are a few main commands:

1. To build subdirectories of the current directory:

$ scram build
$ scram build MyAnalysis
2. To setup your runtime environment (for cmsRun for example). Do a cd to your project directory.
$ cmsenv
3. To make a new work area
$ scram project CMSSW [version]
4. To rebuild, clean up (needed sometimes)
$ scram build 
$ scram build clean

Useful Options

There are other build command options which are useful (these options can be used in combination):

scram b -f
Skip reading the cache; useful for when you know that no BuildFiles or source files have been modified, added or removed. Seems that modified source file (under src/) are no problem, as they are build as expected.
scram b -v
Verbose mode: show the full compilation/linking commands.
scram b -k
Continue building after any errors from Make
scram b -j [n]
For building in parallel using [n] processes (same as -j of GMake)

For more detail on SCRAM please read SWGuideScram
For more detail on SCRAM Buildfiles please read the WorkBookBuildFilesIntro.

Review status

Reviewer/Editor and Date Comments
JohnStupak - 20-September-2013 Review
ShahzadMuzaffar -17 Nov 2009 Replace scramv1 by scram, updated for -j option and common way of setting runtime environment
pieta - 07 May 2007 update of scramv1 b -f
AnneHeavey - 13 Nov 2006 update per Shaun Ashby's review comments
AnneHeavey - 06 Apr 2006 updated links and format
AnneHeavey - 17 Feb 2006 new page

Responsible: ShahzadMuzaffar
Last reviewed by: ShahzadMuzaffar - 17 Nov 2009

Edit | Attach | Watch | Print version | History: r14 < r13 < r12 < r11 < r10 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r14 - 2013-09-22 - DanielHuizenga


ESSENTIALS

ADVANCED TOPICS


 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

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.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback