update of package scripts for new versions

This commit is contained in:
Elke Flehmig 2014-01-16 11:09:06 +00:00 committed by Christoph Niethammer
parent 37d7badfaf
commit a02204d66d
6 changed files with 302 additions and 26 deletions

View file

@ -4,7 +4,7 @@
# Christoph Niethammer <niethammer@hlrs.de> (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=""

View file

@ -4,7 +4,7 @@
# Christoph Niethammer <niethammer@hlrs.de> (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
@ -54,25 +54,13 @@ case $PLATFORM in
# set CCD to avoid compilation errors for ptscotch:
# CCD = mpicc
patch Makefile.inc < $SRC_POOL/6.0.0_Makefile.inc_patch_laki
# check fails on cray (for now...)
src_pretest() {
# add stdint.h to testfile to avoid failure
patch check/test_strat_seq.c < $SRC_POOL/6.0.0_test_strat_seq.c_patch_laki
sit_info "Checking scotch..."
make check || sit_fail "Checking scotch failed"
# ptcheck uses mpirun/requires qsub, which we will not process here
# may be done separately after installation...
# patch check/test_strat_par.c < $SRC_POOL/6.0.0_test_strat_par.c_patch_laki
# make ptcheck
}
;;
esac
esac
# set installation target path for prefix:
cd $SRCDIR
sed -i -e "/^prefix.*\?= /s#/usr/local#$PREFIX#" Makefile
cd $SRCDIR
sed -i -e "/^prefix.*\?= /s#/usr/local#$PREFIX#" Makefile
}
sit_configure() {
@ -86,6 +74,18 @@ src_build() {
make ptscotch || sit_fail "Building ptscotch failed"
}
# check fails on cray (for now...)
src_pretest() {
# add stdint.h to testfile to avoid failure
patch check/test_strat_seq.c < $SRC_POOL/6.0.0_test_strat_seq.c_patch_laki
sit_info "Checking scotch..."
make check || sit_fail "Checking scotch failed"
# ptcheck uses mpirun/requires qsub, which we will not process here
# may be done separately after installation...
# patch check/test_strat_par.c < $SRC_POOL/6.0.0_test_strat_par.c_patch_laki
# make ptcheck
}
src_install() {
mkdir -p $PREFIX
make install || sit_fail "Installation failed"

110
packages/numlib/trilinos/11.4.3 Executable file
View file

@ -0,0 +1,110 @@
#!/bin/sh
# sit class file
#
# Christoph Niethammer <niethammer@hlrs.de> (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 <flehmig@hlrs.de>"
# 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
}

View file

@ -0,0 +1,50 @@
#!/bin/sh
# sit class file
#
# Christoph Niethammer <niethammer@hlrs.de> (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 <flehmig@hlrs.de>"
# 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
}

47
packages/numlib/zoltan/3.8 Executable file
View file

@ -0,0 +1,47 @@
#!/bin/sh
# sit class file
#
# Christoph Niethammer <niethammer@hlrs.de> (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 <flehmig@hlrs.de>"
# 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
}

View file

@ -0,0 +1,68 @@
#!/bin/sh
# sit class file
#
# Christoph Niethammer <niethammer@hlrs.de> (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 <flehmig@hlrs.de>"
# 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
}