wget https://heplib.github.io/makefile
make INSTALL_PATH=<INSTALL PATH> jn=<jn>
<INSTALL PATH> the directory to which all external libraries/programs will be installed.
<jn> the number of jobs in invoking make -j $jn.
Install Manually
One can also install HepLibmanually which is NOT recommended, including to install the required external libraries, external programs and HepLib iteself following the steps below.
Assuming one has exported the environment variableINSTALL_PATH.
export INSTALL_PATH="<INSTALL PATH>"
1. Install External Libraries
: it is required for MPFR and GiNaC.
curl -L -O https://gmplib.org/download/gmp/gmp-6.2.0.tar.gz
tar zxf gmp-6.2.0.tar.gz
cd gmp-6.2.0
./configure --prefix=$INSTALL_PATH
make -j 16
make install
The quadruple precision type __float128 has been changed to _Float128 since MPFR4.1.0, so we prefer the version MPFR4.0.2 for the moment, furthermore the MPFR C++ wrapper is included in HepLib archive.
curl -L -O https://heplib.github.io/mpfr-4.0.2.tar.gz
tar zxf mpfr-4.0.2.tar.gz
cd mpfr-4.0.2
./configure --prefix=$INSTALL_PATH --with-gmp=$INSTALL_PATH --enable-float128 --enable-thread-safe
make -j 16
make install
curl -L -O https://www.ginac.de/CLN/cln-1.3.6.tar.bz2
tar jxf cln-1.3.6.tar.bz2
cd cln-1.3.6
./configure --prefix=$INSTALL_PATH --with-gmp=$INSTALL_PATH
make -j 16
make install
curl -L -O https://www.ginac.de/ginac-1.8.0.tar.bz2
cd ginac-1.8.0
./configure --prefix=$INSTALL_PATH PKG_CONFIG_PATH=$INSTALL_PATH/lib/pkgconfig
make -j 16
make install
curl -L -O http://www.qhull.org/download/qhull-2020.2.zip
unzip -q qhull-2020.2.zip
cd qhull-2020.2
cp Makefile Makefile.bak
cat Makefile.bak | sed "s/\/usr\/local/\$\$INSTALL_PATH/g" > Makefile
make
make install
curl -L -O http://project-mathlibs.web.cern.ch/project-mathlibs/sw/5_34_14/Minuit2/Minuit2-5.34.14.tar.gz
cd Minuit2-5.34.14
./configure --prefix=$INSTALL_PATH
make -j 16
make install
The version with quadruple precisionlibcubaq is actually used, by adding the option --with--real=16 --fPIC to the configure script. One may also need the option -fcommon while using gcc 10.
curl -L -O http://www.feynarts.de/cuba/Cuba-4.2.tar.gz
tar zxf Cuba-4.2.tar.gz
cd Cuba-4.2
./configure --prefix=$INSTALL_PATH --with-real=16 CFLAGS="-fPIC -fcommon" CXXFLAGS="-fPIC -fcommon"
make
make install
2. Install External Programs
curl -L -O http://home.bway.net/lewis/fermat64/ferl6.tar.gz
tar zxf ferl6.tar.gz
mv ferl6 $INSTALL_PATH
cd $INSTALL_PATH/bin
ln -s -f ../ferl6/fer64 .
curl -L -O http://home.bway.net/lewis/fermat64/ferlm.tar.gz
tar zxf ferm6.tar.gz
mv ferm6 $INSTALL_PATH
cd $INSTALL_PATH/bin
ln -s -f ../ferm6/fer64 .
git clone https://bitbucket.org/feynmanIntegrals/fire.git
mv fire/FIRE6 $INSTALL_PATH/FIRE6
rm -rf fire
cd $INSTALL_PATH/FIRE6
./configure --enable_zlib --enable_snappy --enable_lthreads --enable_tcmalloc --enable_zstd
make -j 16
make
curl -L -o kira https://kira.hepforge.org/downloads?f=binaries/kira-2.0
chmod +x kira
mv -f kira $INSTALL_PATH/bin/kira
3. Install HepLib
One can download the most recent version of HepLib as a compressed archive: HepLib.tar.gz, uncompress it and change current directory into HepLib/src by the commands:
wget https://heplib.github.io/HepLib.tar.gz
tar zxfv HepLib.tar.gz
cd HepLib/src
Create a directory for cmake to build the library as follows:
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH ..
make -j 4 && make install
If GiNaC or other dependent external library is not installed to CMAKE_INSTALL_PREFIX, the user needs to specify the locations by supplying the variables INC_PATH and LIB_PATH in the cmake arguments as: