- Update to newest requirements on LAKI-SL6x

This commit is contained in:
Rainer Keller 2012-01-10 11:25:09 +00:00 committed by Christoph Niethammer
parent 0cc74b6aea
commit 77227dcc92

View file

@ -2,14 +2,14 @@
# installation script for Papi # installation script for Papi
# #
# Christoph Niethammer <niethammer@hlrs.de> 2011 # Christoph Niethammer <niethammer@hlrs.de> 2011
# Rainer Kelelr <keller@hlrs.de> 2011 # Rainer Keller <keller@hlrs.de> 2011
# #
# exit on any error! # exit on any error!
set -e set -e
# directory containing the source tar files # directory containing the source tar files
SRC_POOL="$HOME/WORK" SRC_POOL="$HOME/src"
# basic installation directory # basic installation directory
PREFIX_BASE=${PREFIX_BASE:=$HOME} PREFIX_BASE=${PREFIX_BASE:=$HOME}
@ -21,9 +21,9 @@ COMPILER=${COMPILER:=gnu}
COMPILER_VERSION=${COMPILER_VERSION:=} COMPILER_VERSION=${COMPILER_VERSION:=}
# package to build # package to build
CATEGORY="system" CATEGORY="performance"
PACKAGE="papi" PACKAGE="papi"
VERSION="4.1.2.1a" VERSION="4.2.0"
# add a descriptor at the end of the installation path e.g. for special config options etc. # add a descriptor at the end of the installation path e.g. for special config options etc.
PACKAGE_DESCRIPTOR=${PACKAGE_DESCRIPTOR:+-$PACKAGE_DESCRIPTOR} PACKAGE_DESCRIPTOR=${PACKAGE_DESCRIPTOR:+-$PACKAGE_DESCRIPTOR}
@ -33,17 +33,29 @@ PACKAGE_DESCRIPTOR=${PACKAGE_DESCRIPTOR:+-$PACKAGE_DESCRIPTOR}
A=${PACKAGE}-${VERSION}.tar.gz A=${PACKAGE}-${VERSION}.tar.gz
P=${PACKAGE}-${VERSION} P=${PACKAGE}-${VERSION}
echo "Loading perctr module" # echo "Loading perctr module"
module load system/perfctr # module load system/perfctr
# Figure out Root directory of perfctr # # Figure out Root directory of perfctr
TMP1=`which perfex` # TMP1=`which perfex`
TMP2=`dirname $TMP1` # TMP2=`dirname $TMP1`
PERFCTR_PREFIX=`dirname $TMP2` # PERFCTR_PREFIX=`dirname $TMP2`
# If you want to use the CC, CXX, FC or F77 variables for the compilers put the following # If you want to use the CC, CXX, FC or F77 variables for the compilers put the following
# below the compiler loading section! # below the compiler loading section!
CONFIGURE_OPTS="--with-perfctr-prefix=$PERFCTR_PREFIX --with-CPU=i7" #
# YES, I tried with 4.2.0 to use CUDA-4.0 and CUPTI -- compilation & installation worked, but papi_avail
# delivered a SEGFAULT -- gdb showed that:
# Program received signal SIGSEGV, Segmentation fault.
# 0x0000000000000000 in ?? ()
# (gdb) where
#0 0x0000000000000000 in ?? ()
#1 0x000000000040d18e in _papi_hwi_native_name_to_code (in=0x18fabff0 "UNHALTED_CORE_CYCLES", out=Unhandled dwarf expression opcode 0x9c) at extras.c:613
#2 0x0000000000414901 in _papi_libpfm_setup_presets (pmu_name=<value optimized out>, pmu_type=<value optimized out>) at papi_libpfm_presets.c:491
#3 0x0000000000000000 in ?? ()
# CONFIGURE_OPTS="--with-perfctr-prefix=$PERFCTR_PREFIX --with-CPU=i7"
CONFIGURE_OPTS="--with-CPU=i7"
# ATTENTION: Do NOT compile with -j2 -- it will stopp in src/util with a dependence on ../libpapi.a # ATTENTION: Do NOT compile with -j2 -- it will stopp in src/util with a dependence on ../libpapi.a
MAKEOPTS="" MAKEOPTS=""
@ -95,14 +107,14 @@ export ${COMPILER_OPTS}
PREFIX="${PREFIX_BASE}/${CATEGORY}/${PACKAGE}/${VERSION}" PREFIX="${PREFIX_BASE}/${CATEGORY}/${PACKAGE}/${VERSION}"
# basepath for the working directory # basepath for the working directory
ORIGDIR="${HOME}/WORK" ORIGDIR="${HOME}/WORK/PAPI"
# final working directory path # final working directory path
WORKDIR=${ORIGDIR}/${CATEGORY}/${PACKAGE}/${VERSION} WORKDIR=${ORIGDIR}/${CATEGORY}/${PACKAGE}/${VERSION}
# path to the source code directory # path to the source code directory
SRCDIR=${WORKDIR}/${P} SRCDIR=${WORKDIR}/${P}
SUBDIR=src SUBDIR=src
# build directory (should be different from source directory): # build directory (should be different from source directory):
BUILDDIR=${SRCDIR}/COMPILE BUILDDIR=${SRCDIR}/${SUBDIR}
echo "Using workir $WORKDIR" echo "Using workir $WORKDIR"
echo "Building with PREFIX=$PREFIX" echo "Building with PREFIX=$PREFIX"
@ -135,8 +147,8 @@ case "${A##*.}" in
esac esac
echo "Running configure in ${SRCDIR}/${SUBDIR}" echo "Running configure in ${BUILDDIR}"
cd ${SRCDIR}/${SUBDIR} cd ${BUILDDIR}
./configure --prefix=${PREFIX} ${CONFIGURE_OPTS} ${COMPILER_OPTS} 2>&1 | tee configure.log ./configure --prefix=${PREFIX} ${CONFIGURE_OPTS} ${COMPILER_OPTS} 2>&1 | tee configure.log
echo "Running make" echo "Running make"
make ${MAKEOPTS} 2>&1 | tee make.log make ${MAKEOPTS} 2>&1 | tee make.log