WriteToCVMFS: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
| TapasSarangi (talk | contribs) No edit summary | |||
| (21 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 == | ||
|  # 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> | ||
| # osggrid01.hep.wisc.edu is the cvmfs writer and only accessible through the hep.wisc.edu network | |||
| # login to osggrid01.hep.wisc.edu via lzlogin01.hep.wisc.edu | |||
| 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 52: | Line 129: | ||
|  <nowiki> |  <nowiki> | ||
| # Only login0[1-6].hep.wisc.edu are accessible from outside networks | # Only login0[1-6].hep.wisc.edu are accessible from outside networks | ||
| ssh  | ssh login.hep.wisc.edu | ||
| # From  | # From there, login to lzsoft.hep.wisc.edu (this is the cvmfs writer) | ||
| ssh  | ssh lzsoft.hep.wisc.edu | ||
| # Make sure your path is set to these | # Make sure your path is set to these | ||
| export PATH=/usr/bin:/bin:/usr/local/bin:/sbin:/usr/sbin | 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 | # The /scratch is where you would build the package before installing on cvmfs | ||
| Line 65: | Line 144: | ||
| mkdirp -p /scratch/$USER | mkdirp -p /scratch/$USER | ||
| cd /scratch/$USER | cd /scratch/$USER | ||
| wget http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/tarFiles/clhep-2.2.0.4.tgz . | |||
| # Download the desired version from http://proj-clhep.web.cern.ch/proj-clhep/clhep23.html | |||
| tar xvzf clhep-2.2.0.4.tgz  | |||
| tar -xvzf clhep-2.3.4.3.tgz | |||
| mkdir -p clhep_build | mkdir -p clhep_build | ||
| cd clhep_build | cd clhep_build | ||
| # Create CVMFS install area where libraries and binaries will be installed | # Create CVMFS install area where libraries and binaries will be installed | ||
| mkdir -p /cvmfs/lz.opensciencegrid.org/CLHEP/2. | 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) | |||
| # Options with cmake | |||
| . /cvmfs/sft.cern.ch/lcg/releases/LCG_79/gcc/4.8.4/x86_64-slc6/setup.sh | |||
| cmake -DCMAKE_INSTALL_PREFIX=/cvmfs/lz.opensciencegrid.org/CLHEP/2.2.0.4 ../2.2.0.4/CLHEP | |||
| export PATH=/cvmfs/lz.opensciencegrid.org/cmake/cmake-3.3.2-Linux-x86_64/bin/:${PATH} | |||
| make -j8 | |||
| make test | |||
| make install | |||
| # At this point you should see all the libraries in /cvmfs | |||
|  </nowiki> | |||
| # Follow instructions in 2.3.4.3/CLHEP/README.md file | |||
| == Build CLHEP == | |||
| cmake -DCMAKE_INSTALL_PREFIX=/cvmfs/lz.opensciencegrid.org/CLHEP/2.3.4.3 ../2.3.4.3/CLHEP | |||
| cmake --build . --config RelWithDebInfo | |||
|  <nowiki> | |||
| ctest | |||
| # Only login0[1-6].hep.wisc.edu are accessible from outside networks | |||
| cmake --build . --target install | |||
| ssh login06.hep.wisc.edu | |||
| # From login06, login to osggrid01.hep.wisc.edu (this is the cvmfs writer) | |||
| ssh osggrid01.hep.wisc.edu | |||
| # Make sure your path is set to these | |||
| export 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.02.b01.tar.gz | |||
| mkdir -p /cvmfs/lz.opensciencegrid.org/geant4/geant4.10.02.b01 | |||
| mkdir -p build | |||
| cd build | |||
| cmake -DCMAKE_INSTALL_PREFIX=/cvmfs/lz.opensciencegrid.org/geant4/geant4.10.02.b01 \ | |||
|  -DCLHEP_ROOT_DIR=/cvmfs/lz.opensciencegrid.org/CLHEP/2.2.0.4 \ | |||
|  -DGEANT4_USE_QT=ON -DQT_QMAKE_EXECUTABLE=/usr/lib64 \ | |||
|  -DGEANT4_INSTALL_DATA=ON \ | |||
|  -DGEANT4_INSTALL_EXAMPLES=ON \ | |||
|  ../geant4.10.02.b01 | |||
| make -j8 | |||
| make 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