WriteToCVMFS: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
TapasSarangi (talk | contribs) No edit summary  | 
				|||
| (26 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
== How to write to /cvmfs/lz.opensciencegrid.org ==  | 
  == How to write to /cvmfs/lz.opensciencegrid.org ==  | 
||
* # osggrid01.hep.wisc.edu is the cvmfs writer and only accessible through the hep.wisc.edu network  | 
  |||
 # lzsoft9.hep.wisc.edu is the cvmfs writer and only accessible through the hep.wisc.edu network  | 
|||
 # login to lzsoft9.hep.wisc.edu via login.hep.wisc.edu  | 
|||
 ssh username@login.hep.wisc.edu  | 
|||
 # then  | 
|||
 ssh lzsoft9.hep.wisc.edu  | 
|||
 # edit in /srv/cvmfs  | 
|||
 cd /srv/cvmfs  | 
|||
 #  E.g.Write an empty file to the parent directory (don't follow it literally)  | 
|||
 touch myFile.txt  | 
|||
 # Eventually (within a couple hours) this change will propagate to /cvmfs/lz.opensciencegrid.org  | 
|||
== Build Geant4 ==  | 
|||
 <nowiki>  | 
   <nowiki>  | 
||
ssh username@lzlogin01.hep.wisc.edu  | 
  |||
ssh osggrid01.hep.wisc.edu  | 
  |||
cd /cvmfs/lz.opensciencegrid.org/  | 
  |||
# Only login0[1-6].hep.wisc.edu are accessible from outside networks  | 
|||
# Write an empty file to the parent directory (don't follow it literally)  | 
  |||
ssh login.hep.wisc.edu  | 
|||
 touch myFile.txt  | 
  |||
# 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}  | 
|||
 </nowiki>  | 
   </nowiki>  | 
||
| Line 15: | Line 85: | ||
 <nowiki>  | 
   <nowiki>  | 
||
# login to osggrid01.hep.wisc.edu  | 
  |||
*** THESE INSTRUCTIONS ARE OBSOLETE. ***  | 
|||
ssh osggrid01.hep.wisc.edu  | 
  |||
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  | 
  # Setup PATH, ROOTSYS, GEANT4  | 
||
| Line 22: | Line 99: | ||
export PATH=${ROOTSYS}/bin:/sbin:/usr/sbin:/usr/bin:/bin:/usr/local/bin  | 
  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  | 
  export LD_LIBRARY_PATH=${ROOTSYS}/lib:/lib64:/usr/lib64:/lib:/usr/lib  | 
||
source source geant4/geant4.9.5.p02/bin/geant4.sh  | 
|||
source /cvmfs/lz.opensciencegrid.org/geant4/etc/geant4env.sh  | 
  |||
# go to LUXSim directory  | 
  # go to LUXSim directory  | 
||
| Line 47: | Line 124: | ||
ln -s ${RevNum} HEAD  | 
  ln -s ${RevNum} HEAD  | 
||
 </nowiki>  | 
|||
== Build CLHEP ==  | 
|||
 <nowiki>  | 
|||
# 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  | 
|||
 </nowiki>  | 
   </nowiki>  | 
||
Latest revision as of 18:38, 1 October 2024
How to write to /cvmfs/lz.opensciencegrid.org
# lzsoft9.hep.wisc.edu is the cvmfs writer and only accessible through the hep.wisc.edu network # login to lzsoft9.hep.wisc.edu via login.hep.wisc.edu ssh username@login.hep.wisc.edu # then ssh lzsoft9.hep.wisc.edu # edit in /srv/cvmfs cd /srv/cvmfs # E.g.Write an empty file to the parent directory (don't follow it literally) touch myFile.txt # Eventually (within a couple hours) this change will propagate to /cvmfs/lz.opensciencegrid.org
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