WriteToCVMFS

From LZ Computing
Revision as of 21:27, 7 November 2018 by Monzani (talk | contribs)
Jump to navigation Jump to search

How to write to /cvmfs/lz.opensciencegrid.org

# lzsoft.hep.wisc.edu is the cvmfs writer and only accessible through the hep.wisc.edu network
# login to lzsoft.hep.wisc.edu via lzlogin01.hep.wisc.edu
ssh username@lzlogin01.hep.wisc.edu

# lzsoft is a SL6 virtual machine. The CC7 machine is lzsoft7.
ssh lzsoft.hep.wisc.edu

cd /cvmfs/lz.opensciencegrid.org/
# Write an empty file to the parent directory (don't follow it literally)
 touch myFile.txt
 

Build Geant4



# Only login0[1-6].hep.wisc.edu are accessible from outside networks
ssh login.hep.wisc.edu

# From there, login to lzsoft.hep.wisc.edu (this is the cvmfs writer)
ssh lzsoft.hep.wisc.edu

# gcc 4.8.4, cmake 3.3, and Xerces-c are required.
# They can be found here:
# /cvmfs/sft.cern.ch/lcg/releases/LCG_79/gcc/4.8.4/x86_64-slc6
# /cvmfs/lz.opensciencegrid.org/cmake
# /cvmfs/lz.opensciencegrid.org/xerces-c
# For compatibility with BACCARAT, we compile with CLHEP 2.3.4.4, found here:
# /cvmfs/lz.opensciencegrid.org/CLHEP/2.3.4.4


# Make sure your path is set to these
export PATH=$PATH:/usr/bin:/bin:/usr/local/bin:/sbin:/usr/sbin

# The /scratch is where you would build the package before installing on cvmfs
# This prevents unnecessary build files getting into cvmfs
mkdirp -p /scratch/$USER
cd /scratch/$USER

# Get the Geant4 tarball from 
# http://geant4.web.cern.ch/geant4/support/download.shtml

tar xvzf geant4.10.03.p02.tar.gz
mkdir -p /cvmfs/lz.opensciencegrid.org/geant4/geant4.10.03.p02
mkdir -p build
cd build

source /cvmfs/sft.cern.ch/lcg/releases/LCG_79/gcc/4.8.4/x86_64-slc6/setup.sh
/cvmfs/lz.opensciencegrid.org/cmake/cmake-3.3.2-Linux-x86_64/bin/cmake \
 -DCMAKE_INSTALL_PREFIX=/cvmfs/lz.opensciencegrid.org/geant4/geant4.10.03.p02_qt5 \
 -DCMAKE_PREFIX_PATH=/cvmfs/sft.cern.ch/lcg/releases/qt5/5.4.1-f4dbf/x86_64-slc6-gcc48-opt \
 -DGEANT4_USE_QT=ON \
 -DGEANT4_INSTALL_DATA=ON \
 -DGEANT4_USE_GDML=ON \
 -DGEANT4_USE_OPENGL_X11=ON \
 -DGEANT4_USE_SYSTEM_CLHEP=ON \
 -DCLHEP_ROOT_DIR=/cvmfs/lz.opensciencegrid.org/CLHEP/2.3.4.4 \
 -DXERCESC_ROOT_DIR=/cvmfs/lz.opensciencegrid.org/xerces-c/xerces-c-3.1.4 \
 -DCMAKE_C_COMPILER:FILEPATH=/cvmfs/sft.cern.ch/lcg/releases/LCG_79/gcc/4.8.4/x86_64-slc6/bin/gcc \
 -DCMAKE_CXX_COMPILER:FILEPATH=/cvmfs/sft.cern.ch/lcg/releases/LCG_79/gcc/4.8.4/x86_64-slc6/bin/g++ \
 ../geant4.10.03.p02


make
make install

# cc appears to be missing from gcc 4.8.4. Add it to Geant4:
cd /cvmfs/lz.opensciencegrid.org/geant4/geant4.10.03.p02/bin
ln -s /cvmfs/sft.cern.ch/lcg/releases/LCG_79/gcc/4.8.4/x86_64-slc6/bin/gcc cc

# Create a Geant4 environment script like the following that sets the path for gcc 4.8.4 and cmake 3.3
. /cvmfs/lz.opensciencegrid.org/geant4/geant4.10.03.p02/bin/geant4.sh
. /cvmfs/sft.cern.ch/lcg/releases/LCG_79/gcc/4.8.4/x86_64-slc6/setup.sh
export PATH=/cvmfs/lz.opensciencegrid.org/cmake/cmake-3.3.2-Linux-x86_64/bin/:${PATH}

 

Building a version of LUXSim


*** THESE INSTRUCTIONS ARE OBSOLETE. ***

For the latest LZ simulation software, please see http://teacher.pas.rochester.edu:8080/wiki/bin/view/Lz/IntroToBACCARAT



# login to lzsoft.hep.wisc.edu
ssh lzsoft.hep.wisc.edu

# Setup PATH, ROOTSYS, GEANT4
export ROOTSYS=/cvmfs/lz.opensciencegrid.org/ROOT/v5.34.32/slc6_gcc44_x86_64/root
export PATH=${ROOTSYS}/bin:/sbin:/usr/sbin:/usr/bin:/bin:/usr/local/bin
export LD_LIBRARY_PATH=${ROOTSYS}/lib:/lib64:/usr/lib64:/lib:/usr/lib
source source geant4/geant4.9.5.p02/bin/geant4.sh

# go to LUXSim directory
cd /cvmfs/lz.opensciencegrid.org/LUXSim

# e.g. I will install the latest version of LUXSim
# Note that <username> and <passwd> for LUXSim svn repo should be obtained by following instructions given in the page below:
# http://teacher.pas.rochester.edu:8080/wiki/bin/view/Lux/UsageSVN

svn checkout --username <username> --password <passwd> svn://xenophile.case.edu/LUXSim latest

# Find the revision number of latest
cd latest/
RevNum=svn info | awk '/Revision/ {print "r"$2}'

# Organize the directory by renaming latest to revision number
cd /cvmfs/lz.opensciencegrid.org/LUXSim
mv latest ${RevNum}
cd ${RevNum}
make

# If this is the latest ( HEAD ) version in the repo, then create a symlink to HEAD
cd /cvmfs/lz.opensciencegrid.org/LUXSim
ln -s ${RevNum} HEAD

 

Build CLHEP



# Only login0[1-6].hep.wisc.edu are accessible from outside networks
ssh login.hep.wisc.edu

# From there, login to lzsoft.hep.wisc.edu (this is the cvmfs writer)
ssh lzsoft.hep.wisc.edu

# Make sure your path is set to these
export PATH=$PATH:/usr/bin:/bin:/usr/local/bin:/sbin:/usr/sbin

# The /scratch is where you would build the package before installing on cvmfs
# This prevents unnecessary build files getting into cvmfs
mkdirp -p /scratch/$USER
cd /scratch/$USER

# Download the desired version from http://proj-clhep.web.cern.ch/proj-clhep/clhep23.html

tar -xvzf clhep-2.3.4.3.tgz
mkdir -p clhep_build
cd clhep_build

# Create CVMFS install area where libraries and binaries will be installed
mkdir -p /cvmfs/lz.opensciencegrid.org/CLHEP/2.3.4.3

# Set up environmennt for gcc 4.8.4 and cmake 3.3 (assuming your shell is bash)
. /cvmfs/sft.cern.ch/lcg/releases/LCG_79/gcc/4.8.4/x86_64-slc6/setup.sh
export PATH=/cvmfs/lz.opensciencegrid.org/cmake/cmake-3.3.2-Linux-x86_64/bin/:${PATH}

# Follow instructions in 2.3.4.3/CLHEP/README.md file
cmake -DCMAKE_INSTALL_PREFIX=/cvmfs/lz.opensciencegrid.org/CLHEP/2.3.4.3 ../2.3.4.3/CLHEP
cmake --build . --config RelWithDebInfo
ctest
cmake --build . --target install

# At this point you should see all the libraries in /cvmfs