Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F7877623
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
6 KB
Subscribers
None
View Options
diff --git a/setupEvtGen.sh b/setupEvtGen.sh
index e8618e4..494d8a0 100644
--- a/setupEvtGen.sh
+++ b/setupEvtGen.sh
@@ -1,165 +1,170 @@
#!/bin/bash
# This script installs EvtGen with all external dependencies. The variable VERSION specifies the
# tag of EvtGen you want to use. The list of available tags can be found by either going to the url
# https://phab.hepforge.org/source/evtgen/tags/master
# or issuing the command (without the need to clone the git repository)
# git ls-remote --tags http://phab.hepforge.org/source/evtgen.git | cut -d '/' -f3
# Note that some earlier EvtGen versions will not be compatible with all external dependency
# versions given below, owing to C++ interface differences; see the specific tagged version of
# the EvtGen/README file for guidance.
# To obtain this script use the "Download File" option on the right of the webpage:
# https://phab.hepforge.org/source/evtgen/browse/master/setupEvtGen.sh?view=raw
# Version or tag number. No extra spaces on this line!
VERSION=smallerissuesav3
# Pythia version number with no decimal points, e.g. 8230 corresponds to version 8.230. This
# follows the naming convention of Pythia install tar files. Again, no extra spaces allowed
PYTHIAVER=8243
PYTHIAPKG="pythia"$PYTHIAVER
PYTHIATAR=$PYTHIAPKG".tgz"
echo Pythia version set to $PYTHIAVER, package tar name $PYTHIATAR
HEPMCMAJORVERSION="3"
#This is for systems with cmake and cmake3
if command -v cmake3; then
CMAKE=cmake3
else
CMAKE=cmake
fi
+
mkdir -p EvtGen
cd EvtGen
INSTALL_BASE=`pwd`
echo Will setup EvtGen $VERSION in $INSTALL_BASE
echo Downloading EvtGen from GIT
git clone https://phab.hepforge.org/source/evtgen.git evtgen.git
cd evtgen.git
#git checkout -b $VERSION $VERSION
git checkout $VERSION
cd $INSTALL_BASE
# Replace the above lines with the following one for the "head" version
#git clone http://phab.hepforge.org/source/evtgen.git evtgen.git
osArch=`uname`
echo Downloading external dependencies
mkdir -p external
cd external
# Recommended versions of the external packages. HepMC is mandatory.
# Later versions should be OK as well, assuming their C++ interfaces do not change
curl -O http://hepmc.web.cern.ch/hepmc/releases/hepmc2.06.10.tgz
curl -O http://hepmc.web.cern.ch/hepmc/releases/HepMC3-3.2.0.tar.gz
curl -O http://home.thep.lu.se/~torbjorn/pythia8/$PYTHIATAR
curl -O http://photospp.web.cern.ch/photospp/resources/PHOTOS.3.64/PHOTOS.3.64.tar.gz
curl -O http://tauolapp.web.cern.ch/tauolapp/resources/TAUOLA.1.1.8/TAUOLA.1.1.8.tar.gz
echo Extracting external dependencies
tar -xzf hepmc2.06.10.tgz
tar -xzf HepMC3-3.2.0.tar.gz
tar -xzf $PYTHIATAR
tar -xzf PHOTOS.3.64.tar.gz
tar -xzf TAUOLA.1.1.8.tar.gz
# Patch TAUOLA and PHOTOS on Darwin (Mac)
if [ "$osArch" == "Darwin" ]
then
- patch -p0 < $INSTALL_BASE/evtgen.git/platform/tauola_Darwin.patch
- patch -p0 < $INSTALL_BASE/evtgen.git/platform/photos_Darwin.patch
+ sed -i '' 's/\-shared/\-shared\ \-undefined\ dynamic_lookup/g' PHOTOS/Makefile
+ sed -i '' 's/\-shared/\-shared\ \-undefined\ dynamic_lookup/g' TAUOLA/Makefile
+ sed -i '' 's/soname/install_name/g' PHOTOS/Makefile
+ sed -i '' 's/soname/install_name/g' TAUOLA/Makefile
+# patch -p0 < $INSTALL_BASE/evtgen.git/platform/tauola_Darwin.patch
+# patch -p0 < $INSTALL_BASE/evtgen.git/platform/photos_Darwin.patch
fi
if [ "$HEPMCMAJORVERSION" -lt "3" ]
then
echo Installing HepMC in $INSTALL_BASE/external/HepMC
mkdir -p HepMC
mkdir -p HepMC.build
cd HepMC.build
$CMAKE -DCMAKE_INSTALL_PREFIX=$INSTALL_BASE/external/HepMC $INSTALL_BASE/external/HepMC-2.06.10 -Dmomentum:STRING=GEV -Dlength:STRING=MM
make
make install
echo Installing pythia8 in $INSTALL_BASE/external/$PYTHIAPKG
cd ../$PYTHIAPKG
-./configure --prefix=$INSTALL_BASE/external/$PYTHIAPKG
+./configure --enable-shared --prefix=$INSTALL_BASE/external/$PYTHIAPKG
make
make install
echo Installing PHOTOS in $INSTALL_BASE/external/PHOTOS
cd ../PHOTOS
./configure --with-hepmc3= --with-hepmc=$INSTALL_BASE/external/HepMC --prefix=$INSTALL_BASE/external/PHOTOS
make
make install
echo Installing TAUOLA in $INSTALL_BASE/external/TAUOLA
cd ../TAUOLA
./configure --without-hepmc3 --with-hepmc=$INSTALL_BASE/external/HepMC --prefix=$INSTALL_BASE/external/TAUOLA
make
make install
else
echo Installing HepMC3 in $INSTALL_BASE/external/HepMC3
mkdir -p HepMC3
mkdir -p HepMC3.build
cd HepMC3.build
$CMAKE -DHEPMC3_ENABLE_ROOTIO=OFF -DHEPMC3_ENABLE_PYTHON=OFF -DCMAKE_INSTALL_PREFIX=$INSTALL_BASE/external/HepMC3 $INSTALL_BASE/external/HepMC3-3.2.0
make
make install
echo Installing pythia8 in $INSTALL_BASE/external/$PYTHIAPKG
cd ../$PYTHIAPKG
-./configure --prefix=$INSTALL_BASE/external/$PYTHIAPKG
+./configure --enable-shared --prefix=$INSTALL_BASE/external/$PYTHIAPKG
make
make install
echo Installing PHOTOS in $INSTALL_BASE/external/PHOTOS
cd ../PHOTOS
./configure --without-hepmc --with-hepmc3=$INSTALL_BASE/external/HepMC3 --prefix=$INSTALL_BASE/external/PHOTOS
make
make install
echo Installing TAUOLA in $INSTALL_BASE/external/TAUOLA
cd ../TAUOLA
./configure --without-hepmc --with-hepmc3=$INSTALL_BASE/external/HepMC3 --prefix=$INSTALL_BASE/external/TAUOLA
make
make install
fi
echo Building EvtGen
cd $INSTALL_BASE
mkdir -p evtgen.build
mkdir -p evtgen
cd evtgen.build
if [ "$HEPMCMAJORVERSION" -lt "3" ]
then
$CMAKE -DCMAKE_INSTALL_PREFIX=$INSTALL_BASE/evtgen $INSTALL_BASE/evtgen.git -DEVTGEN_PYTHIA=ON -DEVTGEN_PHOTOS=ON -DEVTGEN_TAUOLA=ON -DEVTGEN_HEPMC3=OFF \
-DHEPMC2_ROOT_DIR=$INSTALL_BASE/external/HepMC \
-DPYTHIA8_ROOT_DIR=$INSTALL_BASE/external/$PYTHIAPKG \
-DPHOTOSPP_ROOT_DIR=$INSTALL_BASE/external/PHOTOS \
-DTAUOLAPP_ROOT_DIR=$INSTALL_BASE/external/TAUOLA
else
$CMAKE -DCMAKE_INSTALL_PREFIX=$INSTALL_BASE/evtgen $INSTALL_BASE/evtgen.git -DEVTGEN_PYTHIA=ON -DEVTGEN_PHOTOS=ON -DEVTGEN_TAUOLA=ON -DEVTGEN_HEPMC3=ON \
-DHepMC3_DIR=$INSTALL_BASE/external/HepMC3/share/HepMC3/cmake/ \
-DPYTHIA8_ROOT_DIR=$INSTALL_BASE/external/$PYTHIAPKG \
-DPHOTOSPP_ROOT_DIR=$INSTALL_BASE/external/PHOTOS \
-DTAUOLAPP_ROOT_DIR=$INSTALL_BASE/external/TAUOLA
fi
make
make install
cd $INSTALL_BASE/evtgen
echo Setup done.
echo To complete, set the Pythia8 data path:
if [ "$PYTHIAVER" -lt "8200" ]
then
echo PYTHIA8DATA=$INSTALL_BASE/external/$PYTHIAPKG/xmldoc
else
echo PYTHIA8DATA=$INSTALL_BASE/external/$PYTHIAPKG/share/Pythia8/xmldoc
fi
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Tue, Nov 19, 3:55 PM (1 d, 18 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3805052
Default Alt Text
(6 KB)
Attached To
rEVTGEN evtgen
Event Timeline
Log In to Comment