From 705d5034ba20c3f2b792c1c0157eb6ec32d39f97 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Thu, 17 Jan 2019 14:14:18 +0100 Subject: [PATCH] MPI/parametis fixes and new versions/variante - build-script reviewed - variants for gcc/73.0 and openmpi/3.1.3, mpich/3.3 added --- MPI/parmetis/4/variants | 3 ++ MPI/parmetis/build | 67 +++++++++++++++++++++++++---------------- 2 files changed, 44 insertions(+), 26 deletions(-) diff --git a/MPI/parmetis/4/variants b/MPI/parmetis/4/variants index fb1a8ba..c2cf33f 100644 --- a/MPI/parmetis/4/variants +++ b/MPI/parmetis/4/variants @@ -18,6 +18,7 @@ parmetis/4.0.3 stable gcc/7.3.0 openmpi/2.1.2 b:cmake/3.6.3 parmetis/4.0.3 stable gcc/7.3.0 openmpi/3.0.0 b:cmake/3.6.3 parmetis/4.0.3 stable gcc/7.3.0 openmpi/3.0.1 b:cmake/3.9.6 parmetis/4.0.3 stable gcc/7.3.0 openmpi/3.1.2 b:cmake/3.9.6 +parmetis/4.0.3 stable gcc/7.3.0 openmpi/3.1.3 b:cmake/3.9.6 parmetis/4.0.3 stable clang-macos/9.0.0 openmpi/1.10.7 b:cmake/3.6.3 parmetis/4.0.3 stable clang-macos/9.0.0 openmpi/2.1.2 b:cmake/3.6.3 parmetis/4.0.3 stable clang-macos/9.0.0 openmpi/3.0.0 b:cmake/3.6.3 @@ -25,3 +26,5 @@ parmetis/4.0.3 stable clang-macos/9.0.0 openmpi/3.0.0 b:cmake/3.6.3 parmetis/4.0.3 stable intel/17.4 openmpi/1.10.7 b:cmake/3.6.3 parmetis/4.0.3 stable intel/17.4 openmpi/2.1.2 b:cmake/3.6.3 parmetis/4.0.3 stable intel/17.4 openmpi/3.0.0 b:cmake/3.6.3 + +parmetis/4.0.3 stable gcc/7.3.0 mpich/3.3 b:cmake/3.9.6 diff --git a/MPI/parmetis/build b/MPI/parmetis/build index 0a16cbe..6a57b34 100755 --- a/MPI/parmetis/build +++ b/MPI/parmetis/build @@ -1,56 +1,71 @@ #!/usr/bin/env modbuild -pbuild::set_download_url "http://glaros.dtc.umn.edu/gkhome/fetch/sw/$P/$P-$V.tar.gz" +pbuild::set_download_url "http://glaros.dtc.umn.edu/gkhome/fetch/sw/$P/$P-${V_PKG}.tar.gz" pbuild::add_to_group 'MPI' case ${V_MAJOR} in 3 ) - pbuild::add_docfiles CHANGES INSTALL LICENSE.txt README VERSION + pbuild::install_docfiles CHANGES INSTALL LICENSE.txt README VERSION ;; 4 ) - pbuild::add_docfiles Changelog Install.txt LICENSE.txt + pbuild::install_docfiles Changelog Install.txt LICENSE.txt ;; * ) std::die 4 "Unsupported major version!" ;; esac -pbuild::pre_configure() { - pbuild::add_configure_args "CC=${MPICC}" - pbuild::add_configure_args "CXX=${MPICXX}" - pbuild::add_configure_args "F77=${MPIF77}" - pbuild::add_configure_args "F90=${MPIF90}" - pbuild::add_configure_args "FC=${MPIFC}" - pbuild::add_configure_args "FORTRAN=${MPIFORTRAN}" - if (( V_MAJOR == 4 )}; then - pbuild::add_configure_args "-DMETIS_PATH=${SRC_DIR}/metis" - pbuild::add_configure_args "-DGKLIB_PATH=${SRC_DIR}/metis/GKlib" - ;; +pbuild::configure() { + CC=$MPICC + CXX=$MPICXX + F77=$MPIF77 + F90=$MPIF90 + FC=$MPIFC + FORTRAN=$MPIFORTRAN + if (( V_MAJOR == 4 )) ; then + cmake \ + -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ + -DMETIS_PATH="${SRC_DIR}/metis" \ + -DGKLIB_PATH="${SRC_DIR}/metis/GKlib" \ + "${SRC_DIR}" \ + || exit 1 fi } -pbuild::pre_install() { - mkdir -p "${PREFIX}/include/metis" - mkdir -p "${PREFIX}/lib" -} - -pbuild::post_install() { - case ${V_MAJOR} in - 3 ) +pbuild::compile() { + CC=$MPICC + CXX=$MPICXX + F77=$MPIF77 + F90=$MPIF90 + FC=$MPIFC + FORTRAN=$MPIFORTRAN + if (( V_MAJOR == 3 )) ; then cd "${SRC_DIR}" + make -e -j3 || exit 1 + + mkdir -p $PREFIX/include/metis + mkdir -p $PREFIX/lib + cp *.h $PREFIX/include cp METISLib/*.h $PREFIX/include/metis cp lib*.a $PREFIX/lib - ;; - 4 ) + elif (( V_MAJOR == 4 )); then + make -j3 || exit 1 + make install + LIBMETIS_A=$(find . -name libmetis.a) METIS_H=$(find "${SRC_DIR}" -name metis.h) install -m 0644 $METIS_H $PREFIX/include install -m 0644 $LIBMETIS_A $PREFIX/lib - ;; - esac + else + std::die 42 "Unsupported version: $V" + fi +} + +pbuild::install() { + : } # vim: filetype=sh