From a02204d66dc4f4b7d5e218a04ece478364d61558 Mon Sep 17 00:00:00 2001 From: Elke Flehmig Date: Thu, 16 Jan 2014 11:09:06 +0000 Subject: [PATCH] update of package scripts for new versions --- packages/numlib/petsc/3.4.0 | 7 +- packages/numlib/scotch/6.0.0 | 46 ++++---- packages/numlib/trilinos/11.4.3 | 110 ++++++++++++++++++ .../zoltan/3.6-parmetis-4.0.3-scotch-6.0.0 | 50 ++++++++ packages/numlib/zoltan/3.8 | 47 ++++++++ .../zoltan/3.8-parmetis-4.0.3-scotch-6.0.0 | 68 +++++++++++ 6 files changed, 302 insertions(+), 26 deletions(-) create mode 100755 packages/numlib/trilinos/11.4.3 create mode 100755 packages/numlib/zoltan/3.6-parmetis-4.0.3-scotch-6.0.0 create mode 100755 packages/numlib/zoltan/3.8 create mode 100755 packages/numlib/zoltan/3.8-parmetis-4.0.3-scotch-6.0.0 diff --git a/packages/numlib/petsc/3.4.0 b/packages/numlib/petsc/3.4.0 index ed499f2..d8a1352 100755 --- a/packages/numlib/petsc/3.4.0 +++ b/packages/numlib/petsc/3.4.0 @@ -4,7 +4,7 @@ # Christoph Niethammer (C) 2012 # # sit command for intel: -# PREFIX_BASE=/opt COMPILER=intel COMPILER_VERSION=13.1.2 MPI=impi MPI_VERSION=4.1.1.036 ./sit numlib/petsc/petsc-3.4.0 +# PREFIX_BASE=/opt COMPILER=intel COMPILER_VERSION=13.1.3 MPI=impi MPI_VERSION=4.1.3.045 ./sit numlib/petsc/3.4.0 # # sit command for gnu: # PREFIX_BASE=/opt COMPILER=gnu COMPILER_VERSION=4.7.3 MPI=openmpi MPI_VERSION=1.6.5 ./sit numlib/petsc/3.4.0 @@ -32,7 +32,9 @@ case $COMPILER in intel) ARCH=linux-gnu-intel module load numlib/intel/mkl/11.0 - BLAS_LAPACK="--with-blas-lapack-dir=/opt/compiler/intel/composer_xe_2013-2-146/composer_xe_2013/mkl/lib/intel64" + BLAS_LAPACK="--with-blas-lapack-dir=$MKLPATH" +echo "BLAS_LAPACK=$BLAS_LAPACK" + #BLAS_LAPACK="--with-blas-lapack-dir=/opt/compiler/intel/composer_xe_2013-2-146/composer_xe_2013/mkl/lib/intel64" ;; esac @@ -49,7 +51,6 @@ CONFIGURE_OPTS=" --with-fortran-datatypes=1 \ $BLAS_LAPACK \ " - # default is make -j, which doesn't work here! #(petsc automatically builds parallel) MAKEOPTS="" diff --git a/packages/numlib/scotch/6.0.0 b/packages/numlib/scotch/6.0.0 index 2455fee..fb9e5de 100755 --- a/packages/numlib/scotch/6.0.0 +++ b/packages/numlib/scotch/6.0.0 @@ -4,7 +4,7 @@ # Christoph Niethammer (C) 2012 # # laki sit command: -# PREFIX_BASE=/opt COMPILER=gnu COMPILER_VERSION=4.7.3 MPI=openmpi MPI_VERSION=1.6.4 ./sit numlib/scotch/6.0.0 +# PREFIX_BASE=/opt COMPILER=gnu COMPILER_VERSION=4.7.3 MPI=openmpi MPI_VERSION=1.6.5 ./sit numlib/scotch/6.0.0 # # hermit sit command: # PREFIX_BASE=/opt/hlrs ./sit numlib/scotch/6.0.0 @@ -22,7 +22,7 @@ P=${PACKAGE}_${VERSION}/src BUILDDIR=$SRCDIR src_prepare() { -case $PLATFORM in + case $PLATFORM in hermit|hermit1) # there are some GNU extensions Cray compiler doesn't (yet) know about module swap PrgEnv-cray PrgEnv-gnu @@ -44,7 +44,7 @@ case $PLATFORM in echo "Building for laki." # link most fitting Makefile.inc sample: cd $SRCDIR - ln -s Make.inc/Makefile.inc.x86-64_pc_linux2 Makefile.inc + cp Make.inc/Makefile.inc.x86-64_pc_linux2 Makefile.inc echo "Linking Makefile.inc in $SRCDIR" # add options to CFLAGS: # -DINTSIZE64 -DCOMMON_MEMORY_TRACE -DSCOTCH_METIS_PREFIX @@ -52,8 +52,27 @@ case $PLATFORM in # -DCOMMON_MEMORY_TRACE - enable monitoring of memory allocation # -DSCOTCH_METIS_PREFIX - prefix scotch versions of metis files so as to avoid multiply defined symbol conflicts when using scotch and metis together # set CCD to avoid compilation errors for ptscotch: -# CCD = mpicc +# CCD = mpicc patch Makefile.inc < $SRC_POOL/6.0.0_Makefile.inc_patch_laki + ;; + esac + +# set installation target path for prefix: + cd $SRCDIR + sed -i -e "/^prefix.*\?= /s#/usr/local#$PREFIX#" Makefile + +} + +sit_configure() { + sit_info "Configure not required" +} + +src_build() { + sit_info "Building scotch..." + make scotch || sit_fail "Building scotch failed" + sit_info "Building ptscotch..." + make ptscotch || sit_fail "Building ptscotch failed" +} # check fails on cray (for now...) src_pretest() { @@ -67,25 +86,6 @@ src_pretest() { # make ptcheck } - ;; -esac - -# set installation target path for prefix: -cd $SRCDIR -sed -i -e "/^prefix.*\?= /s#/usr/local#$PREFIX#" Makefile -} - -sit_configure() { - sit_info "Configure not required" -} - -src_build() { - sit_info "Building scotch..." - make scotch || sit_fail "Building scotch failed" - sit_info "Building ptscotch..." - make ptscotch || sit_fail "Building ptscotch failed" -} - src_install() { mkdir -p $PREFIX make install || sit_fail "Installation failed" diff --git a/packages/numlib/trilinos/11.4.3 b/packages/numlib/trilinos/11.4.3 new file mode 100755 index 0000000..41d8986 --- /dev/null +++ b/packages/numlib/trilinos/11.4.3 @@ -0,0 +1,110 @@ +#!/bin/sh +# sit class file +# +# Christoph Niethammer (C) 2012 +# +# sit command: +# PREFIX_BASE=/opt ./sit numlib/trilinos/11.4.3 +# +# sit command for trilinos with mpi: +# PREFIX_BASE=/opt COMPILER=gnu COMPILER_VERSION=4.7.3 MPI=openmpi MPI_VERSION=1.6.5 ./sit numlib/trilinos/11.4.3 + +CATEGORY="numlib" +PACKAGE="trilinos" +VERSION="11.4.3" +URL="http://trilinos.sandia.gov/" +INSTALLER="Elke Flehmig " + +# cmake 2.8 or higher is required +case $PLATFORM in + hermit|hermit1) + sit_fail "on hermit, trilinos is installed by cray!" + ;; +esac + +# now continue for laki + +module load tools/cmake/2.8.12 + +# Archive A and package name P +A=${PACKAGE}-${VERSION}-Source.tar.gz +P=${PACKAGE}-${VERSION}-Source + +src_configure() { + cd $BUILDDIR + export TRILINOS_PATH=$SRCDIR + +# export EXTRA_ARGS=$@ + export EXTRA_ARGS="" + +# Each invocation of CMake caches the values of build options in a +# CMakeCache.txt file. If you run CMake again without deleting the +# CMakeCache.txt file, CMake won't notice any build options that have +# changed, because it found their original values in the cache file. +# Deleting the CMakeCache.txt file before invoking CMake will insure +# that CMake learns about any build options you may have changed. +# +# not necessary because sit reruns clean up everything at first +# rm -f CMakeCache.txt +# +# A sampling of CMake build options. +# +# CMAKE_INSTALL_PREFIX: Where to install Trilinos. +# CMAKE_BUILD_TYPE: DEBUG or RELEASE. +# CMAKE_CXX_COMPILER: The C++ compiler to use when building Trilinos. +# CMAKE_C_COMPILER: The C compiler to use when building Trilinos. +# Some parts of Trilinos are implemented in C. +# CMAKE_Fortran_COMPILER: The Fortran compiler to use when building +# Trilinos. Some parts of Trilinos are implemented in Fortran. +# HAVE_GCC_ABI_DEMANGLE: Setting this option to ON improves +# debugging messages. +# CMAKE_VERBOSE_MAKEFILE: Set to OFF (or FALSE) if you prefer a quiet +# build. +# Trilinos_ENABLE_ALL_PACKAGES: If you like, you can build _all_ of +# Trilinos, but you don't have to. +# Trilinos_ENABLE_Epetra: If ON, build Epetra. +# Trilinos_ENABLE_Triutils: If ON, bulid Triutils. +# Trilinos_ENABLE_TESTS: If ON, build the tests for all packages that +# are to be built. +# Trilinos_ENABLE_EXAMPLES: If ON, build the examples for all +# packages that are to be built. + +if [ -z "$MPI" ] ; then + export CMAKE_ARGS=" + -D CMAKE_INSTALL_PREFIX:PATH=$PREFIX \ + -D CMAKE_BUILD_TYPE:STRING=DEBUG \ + -D CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/g++ \ + -D CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc \ + -D CMAKE_Fortran_COMPILER:FILEPATH=/usr/bin/gfortran \ + -D HAVE_GCC_ABI_DEMANGLE:BOOL=ON \ + -D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING="" \ + -D CMAKE_VERBOSE_MAKEFILE:BOOL=ON \ + -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=ON \ + -D Trilinos_ENABLE_TESTS:BOOL=ON \ +" +else + export CMAKE_ARGS=" + -D CMAKE_INSTALL_PREFIX:PATH=$PREFIX \ + -D CMAKE_BUILD_TYPE:STRING=DEBUG \ + -D CMAKE_CXX_COMPILER:FILEPATH=mpicxx \ + -D CMAKE_C_COMPILER:FILEPATH=mpicc \ + -D CMAKE_Fortran_COMPILER:FILEPATH=mpif90 \ + -D HAVE_GCC_ABI_DEMANGLE:BOOL=ON \ + -D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING="" \ + -D CMAKE_VERBOSE_MAKEFILE:BOOL=ON \ + -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=ON \ + -D Trilinos_ENABLE_TESTS:BOOL=ON \ + -D TPL_ENABLE_MPI:BOOL=ON \ + -D MPI_BASE_DIR:PATH=/opt/mpi/$MPI/$MPI_VERSION \ +" +fi + +cmake \ + ${CMAKE_ARGS} \ + $EXTRA_ARGS \ + ${TRILINOS_PATH} +} + +src_pretest() { + make test $MAKEOPTS +} diff --git a/packages/numlib/zoltan/3.6-parmetis-4.0.3-scotch-6.0.0 b/packages/numlib/zoltan/3.6-parmetis-4.0.3-scotch-6.0.0 new file mode 100755 index 0000000..309021c --- /dev/null +++ b/packages/numlib/zoltan/3.6-parmetis-4.0.3-scotch-6.0.0 @@ -0,0 +1,50 @@ +#!/bin/sh +# sit class file +# +# Christoph Niethammer (C) 2012 +# +# laki sit command: +# TODO! not yet installed with sit +# +# hermit sit command: +# PREFIX_BASE=/opt/hlrs ./sit numlib/zoltan/3.6-parmetis-4.0.3-scotch-6.0.0 + +CATEGORY="numlib" +PACKAGE="zoltan" +ZOLTAN_VERSION="3.6" +VERSION="3.6-parmetis-4.0.3-scotch-6.0.0" +URL="http://www.labri.fr/perso/pelegrin/scotch/" +INSTALLER="Elke Flehmig " + +# Archive A and package name P +A=${PACKAGE}_${ZOLTAN_VERSION}.tgz +P=${PACKAGE}_${ZOLTAN_VERSION}/Zoltan_v3.6 + +module load numlib/scotch/6.0.0 +module load numlib/parmetis/4.0.3 +module load numlib/metis/5.1.0 + +src_prepare() { +case $PLATFORM in + hermit|hermit1) + echo "Building for hermit." + ;; + laki|*) + echo "Building for laki." + ;; +esac +} + +CONFIGURE_OPTS="CC=cc CXX=CC --with-id-type=ullong --with-scotch --with-scotch-incdir=/sw/hermit1/hlrs/numlib/scotch/6.0.0/include --with-scotch-libdir=/sw/hermit1/hlrs/numlib/scotch/6.0.0/lib --with-parmetis --with-parmetis-incdir=/sw/hermit1/hlrs/numlib/parmetis/4.0.3/include --with-parmetis-libdir=/sw/hermit1/hlrs/numlib/parmetis/4.0.3/lib --with-libdirs=\"-L/sw/hermit1/hlrs/numlib/metis/5.1.0/lib\" --with-incdirs=\"-I/sw/hermit1/hlrs/numlib/metis/5.1.0/include\" --with-libs=\"-lscotch\"" + +src_pretest() { + sit_info "Checking zoltan ..." + make check || sit_fail "Checking zoltan failed" +} + +src_postinst() { +# as examples and doc are already installed with zoltan/3.6, simply set a link: + cd $PREFIX + ln -s /sw/hermit1/hlrs/numlib/zoltan/3.6/examples + ln -s /sw/hermit1/hlrs/numlib/zoltan/3.6/doc +} diff --git a/packages/numlib/zoltan/3.8 b/packages/numlib/zoltan/3.8 new file mode 100755 index 0000000..33d406e --- /dev/null +++ b/packages/numlib/zoltan/3.8 @@ -0,0 +1,47 @@ +#!/bin/sh +# sit class file +# +# Christoph Niethammer (C) 2012 +# +# laki sit command: +# PREFIX_BASE=/opt COMPILER=gnu COMPILER_VERSION=4.7.3 MPI=openmpi MPI_VERSION=1.6.5 ./sit numlib/zoltan/3.8 +# +# hermit sit command: +# PREFIX_BASE=/opt/hlrs COMPILER=pgi COMPILER_VERSION=13.9.0 ./sit numlib/zoltan/3.8 + +CATEGORY="numlib" +PACKAGE="zoltan" +VERSION="3.8" +URL="http://www.labri.fr/perso/pelegrin/scotch/" +INSTALLER="Elke Flehmig " + +# Archive A and package name P +A=${PACKAGE}_distrib_v${VERSION}.tar.gz +P=Zoltan_v${VERSION} + +src_prepare() { +case $PLATFORM in + hermit|hermit1) + echo "Building for hermit." + CONFIGURE_OPTS="--with-id-type=ullong CC=cc CXX=CC" + ;; + laki|*) + echo "Building for laki." + CONFIGURE_OPTS="--with-id-type=ullong CC=mpicc CXX=mpicxx" + ;; +esac +} + +src_pretest() { + sit_info "Checking zoltan ..." + make check || sit_fail "Checking zoltan failed" + sit_info "Building examples ..." + make examples || sit_fail"Building examples failed" +} + +src_postinst() { +# mv examples to target (not included in any make install version) + mv $BUILDDIR/example $PREFIX +# mv documentation to target (not included in make install) + mv $SRCDIR/doc $PREFIX +} diff --git a/packages/numlib/zoltan/3.8-parmetis-4.0.3-scotch-6.0.0 b/packages/numlib/zoltan/3.8-parmetis-4.0.3-scotch-6.0.0 new file mode 100755 index 0000000..e390bac --- /dev/null +++ b/packages/numlib/zoltan/3.8-parmetis-4.0.3-scotch-6.0.0 @@ -0,0 +1,68 @@ +#!/bin/sh +# sit class file +# +# Christoph Niethammer (C) 2012 +# +# laki sit command: +# PREFIX_BASE=/opt COMPILER=gnu COMPILER_VERSION=4.7.3 MPI=openmpi MPI_VERSION=1.6.5 ./sit numlib/zoltan/3.8-parmetis-4.0.3-scotch-6.0.0 +# +# hermit sit command: +# PREFIX_BASE=/opt/hlrs COMPILER=pgi COMPILER_VERSION=13.9.0 ./sit numlib/zoltan/3.8-parmetis-4.0.3-scotch-6.0.0 + +CATEGORY="numlib" +PACKAGE="zoltan" +VERSION="3.8" +ADD_PACKAGES="parmetis-4.0.3-scotch-6.0.0" +URL="http://www.labri.fr/perso/pelegrin/scotch/" +INSTALLER="Elke Flehmig " + +# Archive A and package name P +A=${PACKAGE}_distrib_v${VERSION}.tar.gz +P=Zoltan_v${VERSION} + +case $PLATFORM in + hermit|hermit1) + echo "Building for hermit." +# target prefix - show compiler version before additional packages: + PREFIX="${PREFIX_BASE}/${CATEGORY}/${PACKAGE}/${VERSION}-$COMPILER-$COMPILER_VERSION-$ADD_PACKAGES" + + SCOTCH=numlib/scotch/6.0.0 + PARMETIS=numlib/parmetis/4.0.3 + metis=numlib/metis/5.1.0 + CC_CMD=cc + CXX_CMD=CC + ;; + laki|*) + echo "Building for laki." +# target prefix - show mpi and compiler version before additional packages: + PREFIX="${PREFIX_BASE}/${CATEGORY}/${PACKAGE}/${VERSION}-$MPI-$MPI_VERSION-$ADD_PACKAGES" + + SCOTCH=numlib/scotch/6.0.0-openmpi-1.6.5-gnu-4.7.3 + PARMETIS=numlib/parmetis/4.0.3-openmpi-1.6.5-gnu-4.7.3 + METIS=numlib/metis/5.1.0 + CC_CMD=mpicc + CXX_CMD=mpicxx + ;; +esac + +CONFIGURE_OPTS="CC=mpicc CXX=mpicxx --with-id-type=ullong --with-scotch --with-scotch-incdir=$PREFIX_BASE/$SCOTCH/include --with-scotch-libdir=$PREFIX_BASE/$SCOTCH/lib --with-parmetis --with-parmetis-incdir=$PREFIX_BASE/$PARMETIS/include --with-parmetis-libdir=$PREFIX_BASE/$PARMETIS/lib --with-libdirs=\"-L$PREFIX_BASE/$METIS/lib\" --with-incdirs=\"-I$PREFIX_BASE/$METIS/include\" --with-libs=\"-lscotch\"" + +src_pretest() { + sit_info "Checking zoltan ..." + make check || sit_fail "Checking zoltan failed" +} + +src_postinst() { +# as examples and doc are already installed with zoltan, set a link: +cd $PREFIX +case $PLATFORM in + hermit|hermit1) + ln -s ${PREFIX_BASE}/${CATEGORY}/${PACKAGE}/${VERSION}-$COMPILER-$COMPILER_VERSION/example + ln -s ${PREFIX_BASE}/${CATEGORY}/${PACKAGE}/${VERSION}-$COMPILER-$COMPILER_VERSION/doc + ;; + laki|*) + ln -s ${PREFIX_BASE}/${CATEGORY}/${PACKAGE}/${VERSION}-$MPI-$MPI_VERSION/example + ln -s ${PREFIX_BASE}/${CATEGORY}/${PACKAGE}/${VERSION}-$MPI-$MPI_VERSION/doc + ;; +esac +}