From cad7ce4b8cb9258c6fa6df371a17d26a38548267 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Uwe=20K=C3=B6cher?= Date: Fri, 13 Jun 2014 09:46:32 +0200 Subject: [PATCH] Updated FEniCS to version 1.4.0 and added RHEL 7.0 support --- .../platforms/supported/fedora20.platform | 3 +- FEniCS/packages/FEniCS.package | 2 +- FEniCS/packages/dolfin-stable.package | 12 +-- FEniCS/packages/ffc-stable.package | 4 +- FEniCS/packages/fiat-stable.package | 4 +- FEniCS/packages/instant-stable.package | 4 +- FEniCS/packages/ipython.package | 5 +- FEniCS/packages/libadjoint.package | 10 +-- FEniCS/packages/matplotlib.package | 6 +- FEniCS/packages/mpfr.package | 8 +- FEniCS/packages/numpy.package | 5 +- FEniCS/packages/petsc4py.package | 11 +++ FEniCS/packages/scipy.package | 4 +- FEniCS/packages/sympy.package | 1 + FEniCS/packages/trilinos.package | 3 + FEniCS/packages/ufl-stable.package | 4 +- FEniCS/platforms/supported/fedora19.platform | 1 - FEniCS/platforms/supported/fedora20.platform | 6 +- FEniCS/platforms/supported/rhel6.platform | 6 +- FEniCS/platforms/supported/rhel7.platform | 73 +++++++++++++++++++ FEniCS/platforms/supported/ubuntu13.platform | 1 - candi.sh | 8 ++ deal.II/platforms/supported/rhel7.platform | 25 +++++++ gcc/platforms/supported/rhel7.platform | 18 +++++ local-DTM++.toolbox.cfg | 3 +- local-FEniCS.cfg | 4 +- local-deal.II.cfg | 1 + mpi/packages/mpich.package | 10 +-- mpi/packages/mpich2.package | 10 +-- mpi/packages/mvapich2.package | 66 +++++++++++++++++ mpi/platforms/supported/fedora19.platform | 9 ++- mpi/platforms/supported/fedora20.platform | 4 +- mpi/platforms/supported/rhel6.platform | 6 +- mpi/platforms/supported/rhel7.platform | 14 ++++ 34 files changed, 287 insertions(+), 64 deletions(-) create mode 100644 FEniCS/packages/petsc4py.package create mode 100644 FEniCS/platforms/supported/rhel7.platform create mode 100644 deal.II/platforms/supported/rhel7.platform create mode 100644 gcc/platforms/supported/rhel7.platform create mode 100644 mpi/packages/mvapich2.package create mode 100644 mpi/platforms/supported/rhel7.platform diff --git a/DTM++.toolbox/platforms/supported/fedora20.platform b/DTM++.toolbox/platforms/supported/fedora20.platform index db6fe3a..75d2e12 100644 --- a/DTM++.toolbox/platforms/supported/fedora20.platform +++ b/DTM++.toolbox/platforms/supported/fedora20.platform @@ -27,7 +27,8 @@ default UMFPACK_INCLUDE_DIR=/usr/include/suitesparse # Define the packages this platform needs PACKAGES=( -once:hwloc +#once:hwloc +once:superlu_dist once:hdf5 once:p4est once:trilinos diff --git a/FEniCS/packages/FEniCS.package b/FEniCS/packages/FEniCS.package index 11353d5..e390512 100644 --- a/FEniCS/packages/FEniCS.package +++ b/FEniCS/packages/FEniCS.package @@ -1,5 +1,5 @@ NAME=FEniCS -VERSION=1.3.0 +VERSION=1.4.0 BUILDCHAIN=ignore MODULEFILE_PATH=${INSTALL_PATH}/conf/modulefiles/candi/toolbox/${NAME} diff --git a/FEniCS/packages/dolfin-stable.package b/FEniCS/packages/dolfin-stable.package index 2571e31..8f728ea 100644 --- a/FEniCS/packages/dolfin-stable.package +++ b/FEniCS/packages/dolfin-stable.package @@ -1,14 +1,6 @@ -VERSION=1.3.0 +VERSION=1.4.0 NAME=dolfin-${VERSION} SOURCE=https://bitbucket.org/fenics-project/dolfin/downloads/ PACKING=.tar.gz -CHECKSUM=bc5b9f18ee7738b2e9e6768c7aa57c58 +CHECKSUM=b736119d524590b6bd0484f09893e018 -package_specific_setup () { - # Let CMake picks correct VTK, follow-up of issue151 - # https://bitbucket.org/fenics-project/dolfin/issue/151 - # Applies to DOLFIN 1.3.0, not applicable to 1.3.0+. - if [ "$VERSION" == "1.3.0" ]; then - patch -p1 --forward < ${ORIG_DIR}/FEniCS/patches/dolfin-1.3.0-vtk.patch || true - fi -} diff --git a/FEniCS/packages/ffc-stable.package b/FEniCS/packages/ffc-stable.package index 3ebbacc..69fc078 100644 --- a/FEniCS/packages/ffc-stable.package +++ b/FEniCS/packages/ffc-stable.package @@ -1,5 +1,5 @@ -VERSION=1.3.0 +VERSION=1.4.0 NAME=ffc-${VERSION} SOURCE=https://bitbucket.org/fenics-project/ffc/downloads/ PACKING=.tar.gz -CHECKSUM=d57f736ff0b756935a5ffd7c8b30247b +CHECKSUM=cac802fbbf869911fdd82b72c51a7771 diff --git a/FEniCS/packages/fiat-stable.package b/FEniCS/packages/fiat-stable.package index 0de3b06..46249a8 100644 --- a/FEniCS/packages/fiat-stable.package +++ b/FEniCS/packages/fiat-stable.package @@ -1,6 +1,6 @@ -VERSION=1.3.0 +VERSION=1.4.0 NAME=fiat-${VERSION} SOURCE=https://bitbucket.org/fenics-project/fiat/downloads/ PACKING=.tar.gz -CHECKSUM=e12267262b97a40fea97c0dad9804dd7 +CHECKSUM=da9c38cf394594091ec4ac2ff652e170 diff --git a/FEniCS/packages/instant-stable.package b/FEniCS/packages/instant-stable.package index 5cd2c8b..8096741 100644 --- a/FEniCS/packages/instant-stable.package +++ b/FEniCS/packages/instant-stable.package @@ -1,5 +1,5 @@ -VERSION=1.3.0 +VERSION=1.4.0 NAME=instant-${VERSION} SOURCE=https://bitbucket.org/fenics-project/instant/downloads/ PACKING=.tar.gz -CHECKSUM=5c25d2ce48ee761a7113f7a80b25327e +CHECKSUM=e6fa58eb5df4401aac8542110dc1d220 diff --git a/FEniCS/packages/ipython.package b/FEniCS/packages/ipython.package index b351ee6..5a0ddd8 100644 --- a/FEniCS/packages/ipython.package +++ b/FEniCS/packages/ipython.package @@ -1,6 +1,7 @@ -VERSION=0.11 +VERSION=2.1.0 NAME=ipython-${VERSION} -SOURCE=http://archive.ipython.org/release/${VERSION}/ +SOURCE=https://github.com/ipython/ipython/releases/download/rel-${VERSION}/ PACKING=.tar.gz +CHECKSUM=785c7b6364c6a0dd34aa4ea970cf83b9 BUILDCHAIN=python diff --git a/FEniCS/packages/libadjoint.package b/FEniCS/packages/libadjoint.package index a16fa26..8c3c162 100644 --- a/FEniCS/packages/libadjoint.package +++ b/FEniCS/packages/libadjoint.package @@ -1,8 +1,6 @@ NAME=libadjoint -SOURCE=lp: -PACKING=bzr -BUILDCHAIN=custom +SOURCE=https://bitbucket.org/dolfin-adjoint/ +PACKING=hg +BUILDCHAIN=cmake +CONFOPTS="-DBUILD_SHARED_LIBS:BOOL=ON" -package_specific_build () { - make install prefix=${INSTALL_PATH} -} diff --git a/FEniCS/packages/matplotlib.package b/FEniCS/packages/matplotlib.package index 35519cf..63cb5a3 100644 --- a/FEniCS/packages/matplotlib.package +++ b/FEniCS/packages/matplotlib.package @@ -1,4 +1,6 @@ -NAME=matplotlib-1.0.1 -SOURCE=http://sourceforge.net/projects/matplotlib/files/matplotlib/$NAME/ +VERSION=1.3.1 +NAME=matplotlib-${VERSION} +SOURCE=http://downloads.sourceforge.net/matplotlib/ PACKING=.tar.gz +CHECKSUM=444624ad58de05f9029b0b5811e11c17 BUILDCHAIN=python diff --git a/FEniCS/packages/mpfr.package b/FEniCS/packages/mpfr.package index 6e20f8a..1ea02a6 100644 --- a/FEniCS/packages/mpfr.package +++ b/FEniCS/packages/mpfr.package @@ -2,13 +2,9 @@ VERSION=3.1.2 NAME=mpfr-${VERSION} SOURCE=http://www.mpfr.org/mpfr-3.1.2/ PACKING=.tar.bz2 -BUILDCHAIN=custom +BUILDCHAIN=autotools -package_specific_build () { - ./configure --prefix=${INSTALL_PATH} --enable-shared=yes --with-gmp=${GMP_DIR} - make -j ${PROCS} - make install -} +CONFOPTS="--enable-shared=yes --with-gmp=${GMP_DIR}" package_specific_register () { export MPFR_DIR=${INSTALL_PATH} diff --git a/FEniCS/packages/numpy.package b/FEniCS/packages/numpy.package index 04cf657..507aad6 100644 --- a/FEniCS/packages/numpy.package +++ b/FEniCS/packages/numpy.package @@ -1,6 +1,7 @@ -NAME=numpy-1.6.2 +NAME=numpy-1.8.1 SOURCE=http://downloads.sourceforge.net/numpy/ PACKING=.tar.gz +CHECKSUM=be95babe263bfa3428363d6db5b64678 BUILDCHAIN=python package_specific_setup () { @@ -24,8 +25,6 @@ library_dirs = ${LAPACKANDBLAS_DIR} atlas_libs = lapack, blas " > site.cfg fi - - python setup.py build --fcompiler=gnu95 } package_specific_register () { diff --git a/FEniCS/packages/petsc4py.package b/FEniCS/packages/petsc4py.package new file mode 100644 index 0000000..779b3f2 --- /dev/null +++ b/FEniCS/packages/petsc4py.package @@ -0,0 +1,11 @@ +VERSION=3.4 +NAME=petsc4py-${VERSION} +SOURCE=https://bitbucket.org/petsc/petsc4py/downloads/ +PACKING=.tar.gz +CHECKSUM=f6a2914fe3c057b0bf0eac4330a071ea +BUILDCHAIN=python + +package_specific_setup () { + patch -p1 --forward < ${ORIG_DIR}/FEniCS/patches/petsc4py-c++11.patch || true +} + diff --git a/FEniCS/packages/scipy.package b/FEniCS/packages/scipy.package index f837bd9..1c6b981 100644 --- a/FEniCS/packages/scipy.package +++ b/FEniCS/packages/scipy.package @@ -1,6 +1,7 @@ -NAME=scipy-0.12.0 +NAME=scipy-0.14.0 SOURCE=http://downloads.sourceforge.net/scipy/ PACKING=.tar.gz +CHECKSUM=d7c7f4ccf8b07b08d6fe49d5cd51f85d BUILDCHAIN=python package_specific_setup () { @@ -32,3 +33,4 @@ umfpack_libs = umfpack " >> site.cfg fi } + diff --git a/FEniCS/packages/sympy.package b/FEniCS/packages/sympy.package index 6f69395..c807fbb 100644 --- a/FEniCS/packages/sympy.package +++ b/FEniCS/packages/sympy.package @@ -1,4 +1,5 @@ NAME=sympy-0.7.1 SOURCE=http://pypi.python.org/packages/source/s/sympy/ PACKING=.tar.gz +CHECKSUM=3847b5ed5c1531bf3c1b849dc2337253 BUILDCHAIN=python diff --git a/FEniCS/packages/trilinos.package b/FEniCS/packages/trilinos.package index d380abd..7f038ea 100644 --- a/FEniCS/packages/trilinos.package +++ b/FEniCS/packages/trilinos.package @@ -12,6 +12,9 @@ CONFOPTS="-D Trilinos_ENABLE_OpenMP:BOOL=OFF \ -D TPL_ENABLE_TBB:BOOL=OFF \ -D Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=ON \ -D Trilinos_ENABLE_Epetra:BOOL=ON \ + -D Trilinos_ENABLE_EpetraExt:BOOL=ON \ + -D Trilinos_ENABLE_Amesos:BOOL=ON \ + -D Trilinos_ENABLE_Belos:BOOL=ON \ -D Trilinos_ENABLE_ML:BOOL=ON \ -D Trilinos_ENABLE_PyTrilinos:BOOL=ON \ -D Trilinos_ENABLE_TESTS:BOOL=OFF \ diff --git a/FEniCS/packages/ufl-stable.package b/FEniCS/packages/ufl-stable.package index 7ba629e..3fcbf25 100644 --- a/FEniCS/packages/ufl-stable.package +++ b/FEniCS/packages/ufl-stable.package @@ -1,5 +1,5 @@ -VERSION=1.3.0 +VERSION=1.4.0 NAME=ufl-${VERSION} SOURCE=https://bitbucket.org/fenics-project/ufl/downloads/ PACKING=.tar.gz -CHECKSUM=c57de98161c10bbbc0339ef2d1a4749d +CHECKSUM=4c04628f3dd8e68bbfe7af0f4ed583eb diff --git a/FEniCS/platforms/supported/fedora19.platform b/FEniCS/platforms/supported/fedora19.platform index 18fe032..e191c03 100644 --- a/FEniCS/platforms/supported/fedora19.platform +++ b/FEniCS/platforms/supported/fedora19.platform @@ -51,7 +51,6 @@ once:vtkwithqt # once:scotch fiat ferari -ufc ufl ffc # syfi diff --git a/FEniCS/platforms/supported/fedora20.platform b/FEniCS/platforms/supported/fedora20.platform index 4ea59cb..9783c17 100644 --- a/FEniCS/platforms/supported/fedora20.platform +++ b/FEniCS/platforms/supported/fedora20.platform @@ -41,6 +41,11 @@ default UMFPACK_INCLUDE_DIR=/usr/include/suitesparse PACKAGES=( skip:FEniCS-prepare once:mpi4py +once:numpy +once:scipy +once:matplotlib +once:ipython +once:sympy once:hdf5 once:boost once:swig @@ -54,7 +59,6 @@ once:scotch # once:pastix fiat ferari -ufc ufl ffc # syfi diff --git a/FEniCS/platforms/supported/rhel6.platform b/FEniCS/platforms/supported/rhel6.platform index 5ae711e..21021a8 100644 --- a/FEniCS/platforms/supported/rhel6.platform +++ b/FEniCS/platforms/supported/rhel6.platform @@ -41,6 +41,11 @@ skip:FEniCS-prepare once:boost once:pcre once:scientificpython +once:numpy +once:scipy +once:matplotlib +once:ipython +once:sympy once:cgal once:bazaar once:scons @@ -55,7 +60,6 @@ once:armadillo once:scotch fiat ferari -ufc ufl ffc # syfi diff --git a/FEniCS/platforms/supported/rhel7.platform b/FEniCS/platforms/supported/rhel7.platform new file mode 100644 index 0000000..baae925 --- /dev/null +++ b/FEniCS/platforms/supported/rhel7.platform @@ -0,0 +1,73 @@ +# RHEL 7 + +# This build script assumes that you have several packages already +# installed via RHEL's yum using the following command: +# +# su -c 'yum install -y redhat-lsb bzr bzrtools subversion \ +# libxml2-devel gcc gcc-c++ openmpi-devel openmpi numpy swig wget \ +# atlas-devel suitesparse-devel blas-devel \ +# lapack-devel cln-devel ginac-devel python-devel cmake \ +# ScientificPython mpfr-devel armadillo-devel gmp-devel CGAL-devel \ +# cppunit-devel flex bison bzip2-devel python-ply eigen3 scotch scotch-devel \ +# hdf5 hdf5-devel vtk-devel vtk-python vtk-qt vtk-qt-python \ +# vtk-qt-tcl vtk-tcl vtk-testing vtkdata.noarch vtk \ +# netcdf-cxx netcdf-cxx-devel netcdf netcdf-devel ' +# +# If you have multiple MPI libraries installed, make sure the +# appropriate version is selected. For this, on a 32-bit operating +# system, run: +# +# module load openmpi-i386 +# +# or on a 64-bit operating system, run: +# +# module load openmpi-x86_64 +# +# After Dorsal has completed, please make sure the following +# environment variable is set before running any Python DOLFIN +# programs: +# +# export BOOST_DIR=${INSTALL_PATH} +# +# Also, if you are using SELinux, you may need to disable it to run +# DOLFIN programs. +## + +# Platform specific variables +default PETSC_ARCH=linux-gnu-cxx-opt +default SCOTCH_ARCH=pc_linux2 +default UMFPACK_INCLUDE_DIR=/usr/include/suitesparse + +# Define the packages this platform needs +PACKAGES=( +skip:FEniCS-prepare +once:boost +once:pcre +once:scientificpython +once:numpy +once:scipy +once:matplotlib +once:ipython +once:sympy +once:cgal +once:bazaar +once:scons +once:mtl +once:hdf5 +once:parmetis +once:swig +once:trilinos +once:petsc +once:slepc +once:armadillo +once:scotch +fiat +ferari +ufl +ffc +# syfi +viper +instant +dolfin +skip:FEniCS +) diff --git a/FEniCS/platforms/supported/ubuntu13.platform b/FEniCS/platforms/supported/ubuntu13.platform index ad24035..561267b 100644 --- a/FEniCS/platforms/supported/ubuntu13.platform +++ b/FEniCS/platforms/supported/ubuntu13.platform @@ -31,7 +31,6 @@ petsc slepc fiat #ferari -ufc ufl ffc instant diff --git a/candi.sh b/candi.sh index 3ef631e..149bbbd 100755 --- a/candi.sh +++ b/candi.sh @@ -338,6 +338,14 @@ guess_platform() { "Schrödinger’s Cat"*) echo fedora19;; Heisenbug*) echo fedora20;; esac + elif [ -f /etc/redhat-release ] + then + local RHELNAME=`gawk '{if (match($0,/\((.*)\)/,f)) print f[1]}' /etc/redhat-release` + case ${RHELNAME} in + "Tikanga"*) echo rhel5;; + "Santiago"*) echo rhel6;; + "Maipo"*) echo rhel7;; + esac elif [ -x /usr/bin/sw_vers ] then local MACOSVER=$(sw_vers -productVersion) diff --git a/deal.II/platforms/supported/rhel7.platform b/deal.II/platforms/supported/rhel7.platform new file mode 100644 index 0000000..8379e34 --- /dev/null +++ b/deal.II/platforms/supported/rhel7.platform @@ -0,0 +1,25 @@ +# RHEL 7 + +# This build script assumes that you have several packages already +# installed via RHEL's yum using the following command: +# +# su -c 'yum install -y svn git wget \ +# @development-tools gcc-c++ cmake \ +# blas blas-devel lapack lapack-devel \ +# doxygen graphviz graphviz-devel qt-devel ' +# +# ARPACK: arpack arpack-devel +# METIS: metis metis-devel +# +## + +# +# Define the packages this platform needs +PACKAGES=( +once:hdf5 +once:p4est +once:trilinos +once:petsc +once:slepc +dealii +) diff --git a/gcc/platforms/supported/rhel7.platform b/gcc/platforms/supported/rhel7.platform new file mode 100644 index 0000000..f2b97bb --- /dev/null +++ b/gcc/platforms/supported/rhel7.platform @@ -0,0 +1,18 @@ +# RHEL 7 + +# This build script assumes that you have several packages already +# installed via RHEL's yum using the following command: +# +# su -c 'yum install -y \ +# @development-tools gcc-c++ \ +# glibc glibc-devel glibc.i686 glibc-devel.i686 \ +# libmpc libmpc-devel mpfr mpfr-devel gmp gmp-devel \ +# gzip bzip2 ' +# +## + +# Define the packages this platform needs +PACKAGES=( +once:gcc +) + diff --git a/local-DTM++.toolbox.cfg b/local-DTM++.toolbox.cfg index dd7130f..aad0bdc 100644 --- a/local-DTM++.toolbox.cfg +++ b/local-DTM++.toolbox.cfg @@ -7,6 +7,8 @@ PROJECT=DTM++.toolbox CLEAN_BUILD=false COMPILER=native-openmpi +#COMPILER=gcc-4.9.0-mvapich2-1.9 + # How many processes would you like to build using? PROCS=1 @@ -30,4 +32,3 @@ INSTALL_PATH=${PREFIX_PATH}/${PROJECT}/${COMPILER} # installed. STABLE_BUILD=true #STABLE_BUILD=false - diff --git a/local-FEniCS.cfg b/local-FEniCS.cfg index 8e0ca08..2bbc77c 100644 --- a/local-FEniCS.cfg +++ b/local-FEniCS.cfg @@ -27,8 +27,8 @@ INSTALL_PATH=${PREFIX_PATH}/${PROJECT}/${COMPILER} PROCS=1 # Would you like to build stable versions of projects? -#STABLE_BUILD=true -STABLE_BUILD=false +STABLE_BUILD=true +#STABLE_BUILD=false # Would you like to use snapshots when using STABLE_BUILD=false? USE_SNAPSHOTS=false diff --git a/local-deal.II.cfg b/local-deal.II.cfg index 7f3a792..fa9dbd1 100644 --- a/local-deal.II.cfg +++ b/local-deal.II.cfg @@ -52,6 +52,7 @@ DEAL_CONFOPTS=" \ # Prefix directory PREFIX_PATH=~/apps/candi COMPILER=native-openmpi +#COMPILER=gcc-4.9.0-openmpi-1.6.5 # Where do you want the downloaded source files to go? DOWNLOAD_PATH=${PREFIX_PATH}/src diff --git a/mpi/packages/mpich.package b/mpi/packages/mpich.package index 2c2a1d6..10f7f22 100644 --- a/mpi/packages/mpich.package +++ b/mpi/packages/mpich.package @@ -9,6 +9,7 @@ PROCS=1 CONFOPTS="-q CFLAGS=-fPIC CXXFLAGS=-fPIC FFLAGS=-fPIC FCFLAGS=-fPIC" INSTALL_PATH=${INSTALL_PATH}/${COMPILER}/${NAME} +INSTALL_PATH=${INSTALL_PATH}/${NAME} MODULEFILE_PATH=${INSTALL_PATH}/conf/modulefiles/compiler/mpi/${COMPILER} CONFIG_FILE=${MODULEFILE_PATH}/${NAME} @@ -17,14 +18,13 @@ package_specific_conf() { # Generate modulefile mkdir -p ${MODULEFILE_PATH} + CONFIG_FILE=${MODULEFILE_PATH}/${NAME} rm -f $CONFIG_FILE echo "#%Module 1.0 # # ${NAME} against ${COMPILER} # -conflict compiler - prepend-path PATH ${PATH} prepend-path MANPATH ${MANPATH} prepend-path INFOPATH ${INFOPATH} @@ -43,15 +43,15 @@ setenv MPI_SYSCONFIG ${INSTALL_PATH}/etc setenv MPI_INCLUDE ${INSTALL_PATH}/include setenv MPI_LIB ${INSTALL_PATH}/lib setenv MPI_MAN ${INSTALL_PATH}/share/man -setenv MPI_COMPILER mpich-x86_64 -setenv MPI_SUFFIX _mpich +setenv MPI_COMPILER openmpi-x86_64 +setenv MPI_SUFFIX _openmpi setenv MPI_HOME ${INSTALL_PATH} setenv CC ${INSTALL_PATH}/bin/mpicc setenv CXX ${INSTALL_PATH}/bin/mpic++ setenv FC ${INSTALL_PATH}/bin/mpif90 setenv FF ${INSTALL_PATH}/bin/mpif77 -setenv F90 ${INSTALL_PATH}/mpif90 +setenv F90 ${INSTALL_PATH}/bin/mpif90 setenv F77 ${INSTALL_PATH}/bin/mpif77 " >> $CONFIG_FILE diff --git a/mpi/packages/mpich2.package b/mpi/packages/mpich2.package index 502cc05..0a32aad 100644 --- a/mpi/packages/mpich2.package +++ b/mpi/packages/mpich2.package @@ -9,6 +9,7 @@ PROCS=1 CONFOPTS="-q CFLAGS=-fPIC CXXFLAGS=-fPIC FFLAGS=-fPIC FCFLAGS=-fPIC" INSTALL_PATH=${INSTALL_PATH}/${COMPILER}/${NAME} +INSTALL_PATH=${INSTALL_PATH}/${NAME} MODULEFILE_PATH=${INSTALL_PATH}/conf/modulefiles/compiler/mpi/${COMPILER} CONFIG_FILE=${MODULEFILE_PATH}/${NAME} @@ -17,14 +18,13 @@ package_specific_conf() { # Generate modulefile mkdir -p ${MODULEFILE_PATH} + CONFIG_FILE=${MODULEFILE_PATH}/${NAME} rm -f $CONFIG_FILE echo "#%Module 1.0 # # ${NAME} against ${COMPILER} # -conflict compiler - prepend-path PATH ${PATH} prepend-path MANPATH ${MANPATH} prepend-path INFOPATH ${INFOPATH} @@ -43,15 +43,15 @@ setenv MPI_SYSCONFIG ${INSTALL_PATH}/etc setenv MPI_INCLUDE ${INSTALL_PATH}/include setenv MPI_LIB ${INSTALL_PATH}/lib setenv MPI_MAN ${INSTALL_PATH}/share/man -setenv MPI_COMPILER mpich-x86_64 -setenv MPI_SUFFIX _mpich +setenv MPI_COMPILER openmpi-x86_64 +setenv MPI_SUFFIX _openmpi setenv MPI_HOME ${INSTALL_PATH} setenv CC ${INSTALL_PATH}/bin/mpicc setenv CXX ${INSTALL_PATH}/bin/mpic++ setenv FC ${INSTALL_PATH}/bin/mpif90 setenv FF ${INSTALL_PATH}/bin/mpif77 -setenv F90 ${INSTALL_PATH}/mpif90 +setenv F90 ${INSTALL_PATH}/bin/mpif90 setenv F77 ${INSTALL_PATH}/bin/mpif77 " >> $CONFIG_FILE diff --git a/mpi/packages/mvapich2.package b/mpi/packages/mvapich2.package new file mode 100644 index 0000000..d0c6a4d --- /dev/null +++ b/mpi/packages/mvapich2.package @@ -0,0 +1,66 @@ +VERSION=1.9 +NAME=mvapich2-${VERSION} +SOURCE=http://mvapich.cse.ohio-state.edu/download/mvapich2/ +PACKING=.tgz +CHECKSUM=5dc58ed08fd3142c260b70fe297e127c +BUILDCHAIN=autotools + +CONFOPTS="--enable-shared" +#CONFOPTS="--enable-error-messages=all --enable-g=dbg --enable-debuginfo" // for debugging + +INSTALL_PATH=${INSTALL_PATH}/${NAME} +MODULEFILE_PATH=${INSTALL_PATH}/conf/modulefiles/compiler/mpi/${COMPILER} +CONFIG_FILE=${MODULEFILE_PATH}/${NAME} + +# ********************************************************************************** +package_specific_conf() { + # Generate modulefile + + mkdir -p ${MODULEFILE_PATH} + CONFIG_FILE=${MODULEFILE_PATH}/${NAME} + rm -f $CONFIG_FILE + echo "#%Module 1.0 +# +# ${NAME} against ${COMPILER} +# + +prepend-path PATH ${PATH} +prepend-path MANPATH ${MANPATH} +prepend-path INFOPATH ${INFOPATH} +prepend-path LD_LIBRARY_PATH ${LD_LIBRARY_PATH} +prepend-path LD_RUN_PATH ${LD_RUN_PATH} + +setenv LIBDIR ${LIBDIR} +setenv LDFLAGS \"${LDFLAGS}\" + +prepend-path PATH ${INSTALL_PATH}/bin +prepend-path LD_LIBRARY_PATH ${INSTALL_PATH}/lib +prepend-path MANPATH ${INSTALL_PATH}/share/man + +setenv MPI_BIN ${INSTALL_PATH}/bin +setenv MPI_SYSCONFIG ${INSTALL_PATH}/etc +setenv MPI_INCLUDE ${INSTALL_PATH}/include +setenv MPI_LIB ${INSTALL_PATH}/lib +setenv MPI_MAN ${INSTALL_PATH}/share/man +setenv MPI_COMPILER mvapich2-x86_64 +setenv MPI_SUFFIX _mvapich2 +setenv MPI_HOME ${INSTALL_PATH} + +setenv CC ${INSTALL_PATH}/bin/mpicc +setenv CXX ${INSTALL_PATH}/bin/mpic++ +setenv FC ${INSTALL_PATH}/bin/mpif90 +setenv FF ${INSTALL_PATH}/bin/mpif77 +setenv F90 ${INSTALL_PATH}/bin/mpif90 +setenv F77 ${INSTALL_PATH}/bin/mpif77 +" >> $CONFIG_FILE + + echo + echo "${NAME} has now been installed in" + echo + cecho ${GOOD} " ${INSTALL_PATH}" + echo + echo "To update your environment variables, use the created modulefile:" + echo + cecho ${GOOD} " $CONFIG_FILE" + echo +} diff --git a/mpi/platforms/supported/fedora19.platform b/mpi/platforms/supported/fedora19.platform index 8b72349..0f6d2e8 100644 --- a/mpi/platforms/supported/fedora19.platform +++ b/mpi/platforms/supported/fedora19.platform @@ -1,4 +1,4 @@ -# Fedora 20 +# Fedora 19 # This build script assumes that you have installed # an appropriate C/C++ and Fortran compiler. @@ -7,7 +7,8 @@ # Define the packages this platform needs PACKAGES=( -#mpich2 -#mpich -openmpi +#once:mpich2 +#once:mpich +#once:openmpi +once:mvapich2 ) diff --git a/mpi/platforms/supported/fedora20.platform b/mpi/platforms/supported/fedora20.platform index e72b2f0..b4c08d5 100644 --- a/mpi/platforms/supported/fedora20.platform +++ b/mpi/platforms/supported/fedora20.platform @@ -9,5 +9,7 @@ PACKAGES=( #once:mpich2 #once:mpich -once:openmpi +#once:openmpi +once:mvapich2 ) + diff --git a/mpi/platforms/supported/rhel6.platform b/mpi/platforms/supported/rhel6.platform index 06f8aeb..50168f7 100644 --- a/mpi/platforms/supported/rhel6.platform +++ b/mpi/platforms/supported/rhel6.platform @@ -8,7 +8,9 @@ # Define the packages this platform needs PACKAGES=( -once:mpich2 +#once:mvapich2 +#once:mpich2 #once:mpich -#once:openmpi +once:openmpi ) + diff --git a/mpi/platforms/supported/rhel7.platform b/mpi/platforms/supported/rhel7.platform new file mode 100644 index 0000000..7ea5004 --- /dev/null +++ b/mpi/platforms/supported/rhel7.platform @@ -0,0 +1,14 @@ +# RHEL 7 + +# This build script assumes that you have installed +# an appropriate C/C++ and Fortran compiler. +# +# su -c 'yum install -y libtool-ltdl libtool-ltdl-devel' +## + +# Define the packages this platform needs +PACKAGES=( +#once:mpich2 +#once:mpich +once:openmpi +) -- 2.39.5