CMSSW Setup

Prepare the Environment

Create cmssoft User

On the head node, create user “cmssoft” which is used to install cmssw. Then update the users to the cluster.

[root@grow-prod ~]# useradd -c “CMSSOFT” -n cmssoft
[root@grow-prod ~]# passwd cmssoft
[root@grow-prod ~]# chage -d 0 cmssoft
[root@grow-prod ~]# ssh-agent $SHELL
[root@grow-prod ~]# ssh-add
[root@grow-prod ~]# rocks sync config
[root@grow-prod ~]# rocks sync users

Make CMSSW Directory

Create the cmssw directory.

[root@grow-grid ~]# mkdir /export/cmssw

Change the directory owner to cmssoft.

[root@grow-grid export]# chown -R cmssoft:users /export/cmssw

Network Mount CMSSW

Edit the auto.share file on the head node to add cmssw/

[root@grow-prod ~]# vi /etc/auto.share
Add the following line to network mount cmssw on all nodes.

/etc/auto.share
cmssw grid-0-0.local:/export/cmssw

Update the mount point to all nodes.

[root@grow-prod dsquires]# cd /var/411
[root@grow-prod 411]# make clean
[root@grow-prod 411]# make

Restart nfs services on the grid node.

[root@grow-grid ~]# /etc/rc.d/init.d/nfs restart
Shutting down NFS mountd: [  OK  ]
Shutting down NFS daemon: [  OK  ]
Shutting down NFS quotas: [  OK  ]
Shutting down NFS services:  [  OK  ]
Starting NFS services:  [  OK  ]
Starting NFS quotas: [  OK  ]
Starting NFS daemon: [  OK  ]
Starting NFS mountd: [  OK  ]

[root@grow-grid ~]# service autofs reload Reloading maps

Configure nfs to start on reboot.

[root@grow-grid ~]# /sbin/chkconfig –add nfs
[root@grow-grid ~]# chkconfig nfs on

Restart Compute Node auto-NFS

[root@grow-prod ~]# ssh-agent $SHELL
[root@grow-prod ~]# ssh-add
[root@grow-prod ~]# rocks run host compute login '/etc/rc.d/init.d/autofs restart'

Install SL5 Libraries

Here is the link to the instructions on how to install the libraries.

Instead we installed the latest version from
http://grid-deployment.web.cern.ch/grid-deployment/download/HEP/repo/sl5/x86_64/RPMS/

[root@grow-grid cmssw]# wget 'http://grid-deployment.web.cern.ch/grid-deployment/download/HEP/repo/sl5/x86_64/RPMS/HEP_OSlibs_SL5-1.0.3-0.x86_64.rpm'

Install the package.

[root@grow-grid cmssw]# yum localinstall HEP_OSlibs_SL5-1.0.3-0.x86_64.rpm

Prepare CMSSW for Installation

Here is the official guide to follow.

[root@grow-grid ~]# chmod 755 /export/cmssw
[root@grow-grid ~]# su cmssw
[cmssoft@grow-grid cmssw]$ export VO_CMS_SW_DIR=“/share/cmssw”
[cmssoft@grow-grid cmssw]$ export LANG=“C”
[cmssoft@grow-grid cmssw]$ wget -O $VO_CMS_SW_DIR/bootstrap.sh http://cmsrep.cern.ch/cmssw/cms/bootstrap.sh
[cmssoft@grow-grid cmssw]$ mkdir /tmp/$USER
[cmssoft@grow-grid cmssw]$ export SCRAM_ARCH=slc5_amd64_gcc434
[cmssoft@grow-grid cmssw]$ sh -x $VO_CMS_SW_DIR/bootstrap.sh setup -path $VO_CMS_SW_DIR -arch $SCRAM_ARCH >& $VO_CMS_SW_DIR/bootstrap_$SCRAM_ARCH.log
[cmssoft@grow-grid cmssw]$ source $VO_CMS_SW_DIR/$SCRAM_ARCH/external/apt/0.5.15lorg3.2-cms3/etc/profile.d/init.sh

This section is a fix

[cmssoft@grow-grid cmssw]$ apt-cache pkgnames | grep fake
external+fakesystem+1.0-cms
external+fakesystem+1.0
external+fakesystem+1.0-cms2

Now install all of these:

[cmssoft@grow-grid cmssw]$ apt-get install external+fakesystem+1.0-cms
[cmssoft@grow-grid cmssw]$ apt-get install external+fakesystem+1.0
[cmssoft@grow-grid cmssw]$ apt-get install external+fakesystem+1.0-cms2

Users Shell

Set the users shells to source cmmsw.

[root@grow-prod profile.d]# vi /etc/profile.d/cmssw.csh

/etc/profile.d/cmssw.csh
# CMSSW
setenv VO_CMS_SW_DIR /share/cmssw
source $VO_CMS_SW_DIR/cmsset_default.csh

[root@grow-prod profile.d]# vi /etc/profile.d/cmssw.sh

/etc/profile.d/cmssw.sh
# CMSSW
export VO_CMS_SW_DIR=/share/cmssw
. $VO_CMS_SW_DIR/cmsset_default.sh

Update the profiles to all nodes in the cluster.

[root@grow-prod profile.d]# cd /var/411/
[root@grow-prod 411]# make clean
[root@grow-prod 411]# make

On the grid node as the cmssw user, add the following line.

[cmssoft@grow-grid ~]$ vi /share/osg/app/etc/grid3-locations.txt

/share/osg/app/etc/grid3-locations.txt
VO-cms-slc5_amd64_gcc434 slc5_amd64_gcc434 /share/cmssw

Create a link

[cmssoft@grow-grid ~]$ cd /share/osg/app/
[cmssoft@grow-grid app]$ ln -s /share/cmssw/ cmssoft/cms

Notes

Contact Info

This Dokuwiki page is maintained by:
Daniel Squires
University of Iowa
Department of Computer Science
Email: daniel-squires@uiowa.edu