TWIKI LAST EDITED 2009, up to date: https://uscms.org/uscms_at_work/physics/computing/getstarted/uaf.shtml
, below is historical/WRONG
Setup a CMSSW release
Introduction
This section deals with the specifics of creating a user project area for a CMSSW release
Access to cmsuaf.fnal.gov
and cmslpc.fnal.gov
TWIKI LAST EDITED 2009, up to date: https://uscms.org/uscms_at_work/physics/computing/getstarted/uaf.shtml
, below is historical/WRONG
Currently, the
LPC is provided with two interactive login clusters at FNAL,
cmsuaf.fnal.gov
running
SL3
and
cmslpc.fnal.gov
running
SL4
. Both are accessible via a load balanced interactive switch. As for every FNAL login machine, a
Kerberos ticket is needed to actually login to the clusters. The load balancing is handled by a hardware switch which requires an
addressless ticket. The ticket has to be forwarded by the switch to the actual worker node in the cluster. As the address of the worker node is different than the address of the switch, the ticket has to be addressless.
After getting a valid addressless FNAL Kerberos ticket on your local machine by executing on
Linux:
kinit -n
or on
Mac OSX:
kinit -A
login to
cmslpc.fnal.gov
on
Linux by:
ssh -X <USERNAME>@cmslpc.fnal.gov
or on Mac OS X by:
ssh -Y <USERNAME>@cmslpc.fnal.gov
If the login does not succeed, try to follow
USCMS instructions: connecting to the UAF
where you also can find help for other problems related to the login to the CMS UAF.
Disk space
FNAL users have three different directories with diskspace available.
USCMS user home directory
All CMS users are provided with a home directory on the USCMS shared file system (
BlueArc) at:
/uscms/home/<username>
You can check the quota on this directory by:
quota
A backup of your CMS home directory is done every day.
CMS user data directory
As a second option, users have reserved disk space in the USCMS user data area at:
/uscms_data/d1/<username>
This directory is not under backup.
Suggested directory for the tutorial exercises
For the tutorial, we suggest to use your CMS user data directory. Go to your user data directory, create a directory called "tutorial" and change into this directory:
cd /uscms_data/d1/<username>
mkdir tutorial
cd tutorial
Setup of the CMS software environment
The CMS software has to be setup on the UAF following the
FNAL local software installation instructions
by sourcing the FNAL setup script. If you are using a shell from the
csh family, you have to execute
source /uscmst1/prod/sw/cms/cshrc prod
or if you are using a shell from the
sh family, you have to execute
source /uscmst1/prod/sw/cms/shrc prod
to setup the CMS software environment. It can be used both on
cmsuaf.fnal.gov
and
cmslpc.fnal.gov
and autodetects whether the platform is
SL3
or
SL4
.
Use SCRAMV1 to create a user project environment of a CMSSW release
CMS uses the code management tool
SCRAMV1 to handle user code vs. release code management. SCRAMV1 enables the user to use pre-compiled release code and at the same time compile and use his own user code.
SCRAMV1 holds a release project directory for every installed release. The list of installed releases can be checked with
scramv1 list CMSSW
This tutorial will use the latest production release:
CMSSW_1_5_0
Use SCRAMV1 to create a user project directory from a installed release by executing:
scramv1 project CMSSW CMSSW_1_5_0
cd CMSSW_1_5_0/src
All code compiled and files in thIS
src directory take precedence before the code and files in the release directory. If code or files cannot be found in the user directory, they are looked up in the release directory (important also for
.cfi
and
.cff
files).
For more information about SCRAMV1, please have a look at the
SCRAMV1 introduction.
Setup environment for selected release
After creating an user directory, the environment for the selected release has to be setup. If you are using a shell from the
csh family, you have to execute
eval `scramv1 runtime -csh`
or if you are using a shell from the
sh family, you have to execute
eval `scramv1 runtime -sh`
to setup the environment for the selected release. This sets the
PATH and
LD_LIBRARY_PATH environment variables and also special variables which can become useful during development:
- $CMSSW_RELEASE_BASE: release directory
- $CMSSW_SEARCH_PATH: ordered list of directories defining the order in which the directories are searched to resolve includes, etc.
The environment setup has to be done every time a new shell is used to work with a specific user project area. The creation only once.
CVS (just as a reference, don't execute commands)
There are two access modes to CVS, anonymous without write permission and the write access.
Anonymous access
Initialize the anonymous CVS access with
cmscvsroot CMSSW
cvs login
(enter password 98passwd)
which sets the
$CVSROOT variable to point to the CERN CVS repository. You can then use standard CVS commands to check out revision or tag
<tag>
of module
<Package/Module<
in your
src
directory of your local user project area"
cvs co -r <tag> <Package/Module
Write access
For write access, the user has to have a valid CERN account, has to be assigned to CMS. To setup the write access on the
CMSUAF, do:
project CMSSW
As the write access uses kerberos for authentication but CERN still runs version 4 of kerberos, the user has to aquire a specific token on the
CMSUAF using:
kserver_init
or
/usr/kerberos/bin/kinit -5 username@CERN.CH
(enter lxplus password when prompted)
and you CERN account and password. Then the write access uses standard CVS commands.