Commit graph

200 commits

Author SHA1 Message Date
e9f08eb01c Install Open MPI memchecker tool using valgrind if requested. 2024-03-28 03:11:44 +01:00
632939207b Added sit class file for Open MPI 1.8.2. 2024-03-28 03:11:44 +01:00
Elke Flehmig
13ca3cd574 remove old versions 2024-03-28 03:11:44 +01:00
Elke Flehmig
844570eb2f sit script for new gcc version 2024-03-28 03:11:44 +01:00
Muhammad Usman Saleem
8bfffc5fe9 #!/bin/bash -l
#
# Install script inspired by the ebuild system of Gentoo Linux
#
# Christoph Niethammer <niethammer@hlrs.de> (C) 2011-2013
#
 
# exit on any error!
set -e
# for debugging:
# set -x 

# Reading in execution option
SIT_RUN_OPTION=$2
if [[ -n $SIT_RUN_OPTION ]] ; then
	echo "Executing with option: $SIT_RUN_OPTION"
else
	echo "Default execution"
fi

SIT_PATH=$(dirname $PWD/$0)
SIT_CONFIG_FILE=$SIT_PATH/etc/sit.conf
SIT_USER_CONFIG_FILE=$HOME/.sit

# Reading in user configuration file if it exists
if [[ -e $SIT_USER_CONFIG_FILE ]] ; then
    source $SIT_USER_CONFIG_FILE
fi
# Reading in global configuration file
if [[ -e $SIT_CONFIG_FILE ]] ; then
    source $SIT_CONFIG_FILE
fi
source "$SIT_PATH/functions.sh"

sit_countdown 1

# identify platform manually if no environment variable was set
PLATFORM=${PLATFORM:=$SITE_PLATFORM_NAME}
if [ -z $PLATFORM ]; then
    sit_info "Unknown platform using default platform '${DEFAULT_PLATFORM}' configuration"
    PLATFORM="${DEFAULT_PLATFORM}"
fi

sit_info "Platform: $PLATFORM"

# compiler to use
# (gnu|intel|pgi)
COMPILER=${COMPILER:=${DEFAULT_COMPILER}}
# use specific compiler version
COMPILER_VERSION=${COMPILER_VERSION:=}


# add a descriptor at the end of the installation path e.g. for special config options etc.
PACKAGE_DESCRIPTOR=${PACKAGE_DESCRIPTOR:+-$PACKAGE_DESCRIPTOR}


# Compiler specifications
COMPILER_CONFIG_FILE="$SIT_PATH/etc/platform-configs/${PLATFORM}/compiler/${COMPILER}"
if [ -e $COMPILER_CONFIG_FILE ] ; then
    source $COMPILER_CONFIG_FILE
else
    sit_fail "Could not find configuration file for compiler '${COMPILER}' on platform '${PLATFORM}'."
fi


if [ "$COMPILER" == "system" ] ; then
    echo "Using system default compiler"
    COMPILER="" # prevent any compiler specs in the prefix
else 
    case $PLATFORM in
        hermit|hermit1)
            module swap $(module list -l 2>&1 | awk '/^PrgEnv-/{print $1}') PrgEnv-${COMPILER}
            if [ ! -z "$COMPILER_VERSION" ] ; then
                if [ "${COMPILER}" == "gnu" ] ; then
                    module swap gcc gcc/$COMPILER_VERSION
                else
                    module swap $COMPILER $COMPILER/$COMPILER_VERSION
                fi
            fi
            ;;
        laki|*)
            if [ -z "$COMPILER_VERSION" ] ; then
                COMPILER_MODULE=compiler/${COMPILER}
            else
                COMPILER_MODULE=compiler/${COMPILER}/${COMPILER_VERSION}
            fi
            echo "Loading compiler module ${COMPILER_MODULE}"
            module load ${COMPILER_MODULE}
            ;;
    esac
fi

if [ ! -z "${COMPILER}" ] ; then
    # reevaluate compiler version
    COMPILER_VERSION=$(eval "$COMPILER_VERSION_CMD")
fi
# make the compiler variables CC, CXX, FC and F77 available
if [ ! -z "$COMPILER_OPTS" ] ; then  
    echo "Compiler env: ${COMPILER_OPTS}"
    export ${COMPILER_OPTS}
fi
if [ ! -z $COMPILER ] ; then
    echo "Using compiler: $COMPILER version: $COMPILER_VERSION"
fi

if [ ! -z "$MPI" ] ; then 
    MPI_MODULE="mpi/$MPI"
    if [ ! -z "$MPI_VERSION" ] ; then
        MPI_VERSION_NUM=${MPI_VERSION%%-*}
        case $MPI in
            impi)
                MPI_MODULE=${MPI_MODULE}${MPI_VERSION_NUM:+"/${MPI_VERSION_NUM}"}
                ;;
            *)
                MPI_MODULE=${MPI_MODULE}${MPI_VERSION_NUM:+"/${MPI_VERSION_NUM}-$COMPILER-$COMPILER_VERSION"}
                ;;
        esac
    fi  
    echo "Loading MPI module ${MPI_MODULE}"
    module load $MPI_MODULE

    case $COMPILER in
	intel)
            if [[ $MPI == "impi" ]] ; then
		MPICC="mpiicc"
		MPICXX="mpiicpc"
		MPIFC="mpiifort"
            else
		MPICC="mpicc"
		MPICXX="mpicxx"
		MPIFC="mpif90"
            fi
	    ;;
	gnu|*)
	    MPICC="mpicc"
	    MPICXX="mpicxx"
	    MPIFC="mpif90"
	    ;;
    esac
    echo "MPI compiler env: MPICC=$MPICC, MPICXX=$MPICXX, MPIFC=$MPIFC"
    MPI_DIR=${MPI_DIR:=$(dirname $(dirname $(which $MPICC)))}
fi

SCLASSFILE=$1
ACTION=$2

if [ -f $SCLASS_DIR/$SCLASSFILE ] ; then
    source $SCLASS_DIR/$SCLASSFILE
else
    sit_fail "Could not find file $SCLASS_DIR/$SCLASSFILE"
fi

PACKAGENAME=${PACKAGENAME:=$PACKAGE}

# construct the final installation directory path
if [ -z $PREFIX ] ; then
PREFIX="${PREFIX_BASE}/${CATEGORY}/${PACKAGE}/${VERSION}"
PREFIX_SUFFIX=${MPI:+"-$MPI"}${MPI_VERSION_NUM:+"-$MPI_VERSION_NUM"}
PREFIX_SUFFIX=$PREFIX_SUFFIX${COMPILER:+"-$COMPILER"}${COMPILER_VERSION:+"-$COMPILER_VERSION"}
PREFIX_SUFFIX=$PREFIX_SUFFIX${PACKAGE_DESCRIPTOR}

PREFIX=$PREFIX${PREFIX_SUFFIX:+"$PREFIX_SUFFIX"}
fi

# final working directory path
WORKDIR=${WORKDIR_BASE}/${CATEGORY}/${PACKAGE}/${VERSION}$PREFIX_SUFFIX

# path to the source code directory
SRCDIR=${WORKDIR}/${P}

# build directory (should be different from source directory):
BUILDDIR=${WORKDIR}/build

# logfile directory
LOGDIR=${WORKDIR}


# source the package class file a second time, so we can modify variables 
# using their default values. (Defaults depend on other vairables in 
# the class file like CATEGORY or PACKAGE)
source $SCLASS_DIR/$SCLASSFILE

echo "Package name:        $PACKAGENAME"
echo "Installation PREFIX: $PREFIX"
echo "Working dir:         $WORKDIR"
echo "Source dir:          $SRCDIR"
echo "Build dir:           $BUILDDIR"
echo "Logfile dir:         $LOGDIR"

sit_countdown 3

# if working dir already exists and execution option is Default then remove
# previous working directory and create new
if [[ -d ${WORKDIR} && -z $SIT_RUN_OPTION ]] ; then
    sit_info "Removing existing working directory ${WORKDIR}"
    sit_countdown 5
    rm -rf ${WORKDIR}
fi

if [ ! -d ${WORKDIR} ] ; then
	mkdir -p ${WORKDIR}
	mkdir -p ${BUILDDIR}
fi

if [ ! -z ${LOGDIR} ] ; then
    mkdir -p ${LOGDIR}
else
# TODO: this is dangerous as we compress and copy all *.log files inside LOGDIR!
    LOGDIR="/tmp"
fi


case $SIT_RUN_OPTION in
"sitinfo")
sit_sitinfo >> "$LOGDIR/sit_cmd.log"
;;
"unpack")
sit_unpack    2>&1 | tee "$LOGDIR/unpack.log";       ( exit ${PIPESTATUS[0]} )
;;
"prepare")
sit_prepare   2>&1 | tee "$LOGDIR/prepare.log";      ( exit ${PIPESTATUS[0]} )
;;
"configure")
sit_configure 2>&1 | tee "$LOGDIR/configure.log";    ( exit ${PIPESTATUS[0]} )
;;
"build")
sit_build     2>&1 | tee "$LOGDIR/make.log";         ( exit ${PIPESTATUS[0]} )
;;
"pretest")
sit_pretest   2>&1 | tee "$LOGDIR/pretest.log";      ( exit ${PIPESTATUS[0]} )
;;
"install")
sit_install   2>&1 | tee "$LOGDIR/make_install.log"; ( exit ${PIPESTATUS[0]} )
;;
"posttest")
sit_posttest  2>&1 | tee "$LOGDIR/posttest.log";     ( exit ${PIPESTATUS[0]} )
;;
"postinst")
sit_postinst  2>&1 | tee "$LOGDIR/postinst.log";     ( exit ${PIPESTATUS[0]} )
;;
"copy_logs")
sit_copy_logs
;;
"setperms")
sit_setperms
;;
"")
sit_sitinfo >> "$LOGDIR/sit_cmd.log"
sit_unpack    2>&1 | tee "$LOGDIR/unpack.log";       ( exit ${PIPESTATUS[0]} )
sit_prepare   2>&1 | tee "$LOGDIR/prepare.log";      ( exit ${PIPESTATUS[0]} )
sit_configure 2>&1 | tee "$LOGDIR/configure.log";    ( exit ${PIPESTATUS[0]} )
sit_build     2>&1 | tee "$LOGDIR/make.log";         ( exit ${PIPESTATUS[0]} )

sit_pretest   2>&1 | tee "$LOGDIR/pretest.log";      ( exit ${PIPESTATUS[0]} )
sit_install   2>&1 | tee "$LOGDIR/make_install.log"; ( exit ${PIPESTATUS[0]} )
sit_posttest  2>&1 | tee "$LOGDIR/posttest.log";     ( exit ${PIPESTATUS[0]} )
sit_postinst  2>&1 | tee "$LOGDIR/postinst.log";     ( exit ${PIPESTATUS[0]} )
sit_copy_logs
sit_setperms
;;
*)
echo "Argument $SIT_RUN_OPTION unrecognized."
esac


#sit_sitinfo >> "$LOGDIR/sit_cmd.log"
#sit_unpack    2>&1 | tee "$LOGDIR/unpack.log";       ( exit ${PIPESTATUS[0]} )
#sit_prepare   2>&1 | tee "$LOGDIR/prepare.log";      ( exit ${PIPESTATUS[0]} )
#sit_configure 2>&1 | tee "$LOGDIR/configure.log";    ( exit ${PIPESTATUS[0]} )
#sit_build     2>&1 | tee "$LOGDIR/make.log";         ( exit ${PIPESTATUS[0]} )

#sit_pretest   2>&1 | tee "$LOGDIR/pretest.log";      ( exit ${PIPESTATUS[0]} )
#sit_install   2>&1 | tee "$LOGDIR/make_install.log"; ( exit ${PIPESTATUS[0]} )
#sit_posttest  2>&1 | tee "$LOGDIR/posttest.log";     ( exit ${PIPESTATUS[0]} )
#sit_postinst  2>&1 | tee "$LOGDIR/postinst.log";     ( exit ${PIPESTATUS[0]} )
#sit_copy_logs
#sit_setperms  


cat <<EOF
##############################################################################
# IMPORTANT!
##############################################################################
# Do not forget to provide a module file!
##############################################################################
EOF

exit 0
2024-03-28 02:45:19 +01:00
8fdc167748 Added sit class file for Open MPI 1.8.1. 2024-03-28 02:45:19 +01:00
Elke Flehmig
9c5f2fc2ab new scriptfile for latest gcc 4.9.0 version 2024-03-28 02:45:19 +01:00
e2fbecc5ad Sit class file for MVAPICH2-2.0rc2. 2024-03-28 02:45:19 +01:00
733e714d85 Added packages to build any nanox and mcxx version -> together compiler/ompss 2024-03-28 02:45:19 +01:00
d8612f979f Sit class package for Open MPI trunk.
* developer headers
* static and shared libs
* Java bindings
2024-03-28 02:45:19 +01:00
Elke Flehmig
43ad4b90a4 removed old versions 2024-03-28 02:45:19 +01:00
Elke Flehmig
5a62f0006a version updates 2024-03-28 02:45:19 +01:00
Elke Flehmig
25743acc0e version update
ssThis line, and those below, will be ignored--

AM   gcc/gcc-4.8.2
AM   gcc/gcc-4.7.3
2024-03-28 02:45:19 +01:00
Elke Flehmig
4bf84c640e version update
ssThis line, and those below, will be ignored--

M    trilinos/11.4.3
AM   trilinos/11.6.1
2024-03-28 02:45:19 +01:00
04affb59fe Added sit class file for Open MPI 1.8 2024-03-28 02:45:19 +01:00
Elke Flehmig
c3387454a7 obsolete outdated version 2024-03-28 02:45:19 +01:00
bcf2596c49 Added sit class file for MVAPICH2-2.0b 2024-03-28 02:45:19 +01:00
2b54d2a43e Added sit class file for MVAPICH2-1.9. 2024-03-28 02:45:19 +01:00
de52f45532 Added sit class file for Open MPI 1.7.4 2024-03-28 02:45:19 +01:00
Elke Flehmig
a02204d66d update of package scripts for new versions 2024-03-28 02:45:19 +01:00
Elke Flehmig
37d7badfaf update for mpi 1.6.5 version 2024-03-28 02:45:19 +01:00
Elke Flehmig
c0992ff68e update for newer mpi version 1.6.5 2024-03-28 02:45:19 +01:00
a386417f32 Modified check_modules.sh script running the mpi_test_suite for allOpen MPI instalaltions. 2024-03-28 02:45:19 +01:00
fbddead2c0 Added sit class file for Open MPI 1.7.3 2024-03-28 02:45:19 +01:00
Elke Flehmig
6febb84ecb Deleted obsolete parmetis versions 2024-03-28 02:45:19 +01:00
Elke Flehmig
75e0f73deb Deleted obsolete metis versions 2024-03-28 02:45:19 +01:00
547d674482 packages/temanejo: fixed filename of omps plugin 2024-03-28 02:45:19 +01:00
Elke Flehmig
84a7e379ee added gcc 4.8.1 script 2024-03-28 02:45:19 +01:00
Elke Flehmig
27f32418be added sit command as comment, new package scripts 2024-03-28 02:45:19 +01:00
fc389d5a33 Added sit class file for Vampirtrace 5.14.4.
Initial OpenACC configuration for Hermit according to vampirtrace support,
but not working properly at the moment.
2024-03-28 02:45:19 +01:00
45013b528f Added debugger/temanejo
temanejo-1.0_any allows to set  on the command line and will work for allmost any version.
2024-03-28 02:45:19 +01:00
a1b6715971 revised scalasca-1.4.2 2024-03-28 02:45:19 +01:00
ec93df37a0 Minor update removing unused code and adding log output. 2024-03-28 02:45:19 +01:00
03eefdae92 Removed patch from nanox sit class file and wait for patch in the nanox source. 2024-03-28 02:45:19 +01:00
5bfef39d85 Skipp already applied patch. 2024-03-28 02:45:19 +01:00
22368253bc Updated nanox sit class file. 2024-03-28 02:45:19 +01:00
Elke Flehmig
3b5d70ac82 new scripts for scotch installation 2024-03-28 02:45:19 +01:00
604d15e1ec Added sit class file for Open MPI 1.7.2. 2024-03-28 02:45:19 +01:00
c34ef45cc4 Added sit class file for Open MPI 1.6.5. 2024-03-28 02:45:19 +01:00
Elke Flehmig
65f0ea276e scripts for new versions of numlib packages 2024-03-28 02:43:58 +01:00
53415f9852 Added sit class file for Vampirtrace 5.14.3 gpu1 including accelerator patches. 2024-03-28 02:43:58 +01:00
72f83aebe4 Added sit class file for Score-P 1.1.1. 2024-03-28 02:43:58 +01:00
90b8fed4b8 Added sit class file for mercurium 1.99.0-2013-04-25. 2024-03-28 02:43:58 +01:00
2e1b9a1746 Added sit class file for nanox 0.7a-2013-04-22. 2024-03-28 02:43:58 +01:00
Elke Flehmig
a4f0318828 added sit script for metis 2024-03-28 02:43:58 +01:00
Elke Flehmig
d165e6c0f9 added patch for Makefile on cray 2024-03-28 02:43:58 +01:00
Elke Flehmig
616362b6f3 added parts for cray installation 2024-03-28 02:43:58 +01:00
Elke Flehmig
d20de5fd01 sit script and patch file for parmetis 2024-03-28 02:43:58 +01:00
Elke Flehmig
6a027ec448 removed outdated version of petsc 2024-03-28 02:43:58 +01:00
48e9c910c6 Added sit class file for Open MPI 1.7.1. 2024-03-28 02:43:58 +01:00
Elke Flehmig
72187eb175 added missing configure option for c-support 2024-03-28 02:43:58 +01:00
6809c041b4 Added sit class file for Open MPI 1.7. 2024-03-28 02:43:58 +01:00
Elke Flehmig
a39084cb49 sit script for latest petsc 3.3-p6, for both impi/intel and openmpi/gnu configurations 2024-03-28 02:43:58 +01:00
f087f698ac Sit class file for VampirTrace 5.14.2 2024-03-28 02:43:58 +01:00
Elke Flehmig
c16ffefcc0 make check muss doch in src_pretest stehen...Kommentar zu autogen eingefuegt 2024-03-28 02:43:58 +01:00
Elke Flehmig
54b20efa31 make check ausfuehren (nach make, vor make install) 2024-03-28 02:43:58 +01:00
660bd53efc Fixed problem missing makefile. 2024-03-28 02:43:58 +01:00
9e7aca27d0 Fixing dependencies for newer GMP, MPFR and MPC versions on laki. 2024-03-28 02:43:58 +01:00
4ab85784a0 Calling installer in src_install() instead of src_build(). 2024-03-28 02:43:58 +01:00
44aefa4cd3 Sit class file for pgi 13.2. 2024-03-28 02:43:58 +01:00
c937a952ae Added sit class file for GCC 4.7.2. 2024-03-28 02:43:58 +01:00
162dc8262f Added sit class file for Open MPI 1.6.4. 2024-03-28 02:43:58 +01:00
42ba246ad3 Added sit class file for ayudame. 2024-03-28 02:43:58 +01:00
238dbd0c6c Use new platform configuration for Cray XE systems. 2024-03-28 02:43:58 +01:00
b69b7f842a Sit class file for Vampirtrace-5.14.1.
Enable --with-papi=DIR to fix problems with system PAPI installation on Laki.
2024-03-28 02:43:58 +01:00
4bc63ebc73 Removed superfluous code. 2024-03-28 02:43:58 +01:00
7bbaec17c7 Cosmetic line break chance. 2024-03-28 02:43:58 +01:00
a44e3ed0b9 Fixed probelm with MPI process startup in PETSC 3.3-p5 pretest. 2024-03-28 02:43:58 +01:00
21c56d8cc1 Sit class file for PETSC 3.3-p5. 2024-03-28 02:43:58 +01:00
9bd98e935b Don't use module command inside package file; updated url. 2024-03-28 02:43:58 +01:00
3fb95675a9 Rename instrumentation option to extrae, enable ayudame by default, build static and shared libs. 2024-03-28 02:43:58 +01:00
65ebef950e Don't use module command inside package file, dependencies shall be handled externally. 2024-03-28 02:43:58 +01:00
91e3222f6a Sit class file for extrae 2.3. 2024-03-28 02:43:58 +01:00
e0b527b1d8 New sit class file for Vampirtrace 5.14. 2024-03-28 02:43:58 +01:00
2312b7db1f Fixed typo in version number. 2024-03-28 02:43:58 +01:00
6882a37221 Update scalasca 1.4.1, add 1.4.2 2024-03-28 02:43:58 +01:00
ff51320aa2 Added sit class file for Open MPI 1.6.3. 2024-03-28 02:43:58 +01:00
96c7122765 Sit class file for extrae-2.2.1 2024-03-28 02:43:58 +01:00
943a04e722 Added sit class file for openmpi-1.6.2. 2024-03-28 02:43:58 +01:00
fd2c67d3c1 Added sit class file for openmpi-1.6.1. 2024-03-28 02:43:58 +01:00
6cd92f1ace Removed sit class file for mvapich2-1.8 as it was replaced by 1.8-r5435 2024-03-28 02:43:58 +01:00
dc204cad82 Corrected copyright note. 2024-03-28 02:43:58 +01:00
ae08a4b02b New sit class file for MVAPICH2-1.8-r5435. 2024-03-28 02:43:58 +01:00
1c03d248b9 New sit class file for vampirtrace-5.13. 2024-03-28 02:43:58 +01:00
114d866f51 Enable experimental Fortran support for Mercurium compiler. 2024-03-28 02:43:58 +01:00
6822294c23 Added sit class file for likwid-2.3.0. 2024-03-28 02:43:58 +01:00
bc81f90450 Added sit class file for gcc 4.6.3. 2024-03-28 02:43:58 +01:00
2199cc777f Added package for scalasca-1.4.1 2024-03-28 02:43:58 +01:00
ff562ceb7e Updated vampirtrace-5.12.2 sit class file for hermit1; minor bugfixes. 2024-03-28 02:43:56 +01:00
1848b6d659 Added sit class file for vampirtrace-5.12.2. 2024-03-28 02:43:56 +01:00
d690a80aac Added sit class file for fftw-3.3.2. 2024-03-28 02:43:56 +01:00
6986ae0c6c Added sit class file for parallel-netcdf-1.2.0. 2024-03-28 02:43:56 +01:00
f57365dbf0 Updatet sit class file for netcdf-4.1.3. 2024-03-28 02:43:56 +01:00
b63cc2e27a Updatet sit class file for netcdf-4.1.3. 2024-03-28 02:43:56 +01:00
264ccc6143 Added sit class file for netcdf-4.1.3 2024-03-28 02:43:56 +01:00
4b05d29e5a Added sit class file for openmpi-1.6. 2024-03-28 02:43:56 +01:00
393868777a Added sit class file for MVAPICH2-1.8 2024-03-28 02:43:56 +01:00
377a0cffdd Added sit class file for openmpi-1.4.5. 2024-03-28 02:43:56 +01:00
5bcc7e44a7 Added sit class file for openmpi-1.5.5. 2024-03-28 02:43:56 +01:00
317b33ee8c Added sit class files for Berkeley UPC 2.14.0 translator and compiler. 2024-03-28 02:43:56 +01:00