#!/bin/bash
echo "##########################################################################"
-echo "Petsc" $VERSION
+echo "PETSc" $VERSION
echo "##########################################################################"
NATIVE_PATH="/usr"
CONFIGURE_FLAGS+=" --download-slepc=ext/slepc-3.19.2.tar.gz"
if [ -f "${NATIVE_PATH}/liblapack.a" ] && [ "${SAT_lapack_IS_NATIVE}" == "1" ]; then
- CONFIGURE_FLAGS+=" --with-blaslapack-dir=${NATIVE_PATH}"
+ CONFIGURE_FLAGS+=" --with-blaslapack=1"
elif [ -n "${LAPACK_ROOT_DIR}" ] && [ "${SAT_lapack_IS_NATIVE}" != "1" ]; then
CONFIGURE_FLAGS+=" --with-blaslapack-dir=${LAPACK_ROOT_DIR}"
else
CONFIGURE_FLAGS+=" --with-hdf5-dir=${HDF5_ROOT_DIR}"
if [ -f "${NATIVE_PATH}/libfftw3.a" ] && [ "${SAT_fftw_IS_NATIVE}" == "1" ]; then
- CONFIGURE_FLAGS+=" --with-fftw-dir=${NATIVE_PATH}"
+ CONFIGURE_FLAGS+=" --with-fftw=1"
elif [ -n "${FFTW_ROOT_DIR}" ] && [ "${SAT_fftw_IS_NATIVE}" != "1" ]; then
CONFIGURE_FLAGS+=" --with-fftw-dir=${FFTW_ROOT_DIR}"
else
CONFIGURE_FLAGS+=" --with-petsc4py=yes"
CONFIGURE_FLAGS+=" --download-slepc-configure-arguments=--with-slepc4py=yes "
+if [ -f "${NATIVE_PATH}/libmetis.so" ] && [ "${SAT_metis_IS_NATIVE}" == "1" ]; then
+ CONFIGURE_FLAGS+=" --with-metis=1"
+elif [ -n "${METIS_ROOT_DIR}" ] && [ "${SAT_metis_IS_NATIVE}" != "1" ]; then
+ CONFIGURE_FLAGS+=" --with-metis-dir=${METIS_ROOT_DIR}"
+else
+ CONFIGURE_FLAGS+=" --download-metis=ext/metis-5.1.0-p11.tar.gz"
+fi
+
echo
-if [ -n "${SAT_HPC}" ]
-then
- CONFIGURE_FLAGS+=" --download-hypre=ext/hypre-2.28.0.tar.gz"
- CONFIGURE_FLAGS+=" --download-metis=ext/metis-5.1.0-p11.tar.gz"
- CONFIGURE_FLAGS+=" --download-ptscotch=ext/scotch_7.0.3.tar.gz"
-
- if [ -n "${MPI4PY_ROOT_DIR}" ]
- then
+if [ -n "${SAT_HPC}" ]; then
+ CONFIUGRE_FLAGS+=" --with-med-dir=${MEDFILE_ROOT_DIR}"
+
+ if [ -f "${NATIVE_PATH}/libHYPRE_core.so" ]; then
+ CONFIGURE_FLAGS+=" --with-hypre=1"
+ else
+ CONFIGURE_FLAGS+=" --download-hypre=ext/hypre-2.28.0.tar.gz"
+ fi
+
+ if [ -f "${NATIVE_PATH}/libptscotch.so" ] && [ "${SAT_ptscotch_IS_NATIVE}" == "1" ]; then
+ CONFIGURE_FLAGS+=" --with-ptscotch=1"
+ elif [ -n "${PTSCOTCH_ROOT_DIR}" ] && [ "${SAT_ptscotch_IS_NATIVE}" != "1" ]; then
+ CONFIGURE_FLAGS+=" --with-ptscoth=${PTSCOTCH_ROOT_DIR}"
+ else
+ CONFIGURE_FLAGS+=" --download-ptscotch=ext/scotch_7.0.3.tar.gz"
+ fi
+
+ if [ -n "${MPI4PY_ROOT_DIR}" ]; then
CONFIGURE_FLAGS+=" --with-mpi4py-dir=${MPI4PY_ROOT_DIR}"
else
CONFIGURE_FLAGS+=" --download-mpi4py=ext/mpi4py-3.1.4.tar.gz"
fi
- echo "*** configure --prefix=${PRODUCT_INSTALL} --with-mpi-dir=${MPI_ROOT_DIR} ${CONFIGURE_FLAGS}"
- ./configure --prefix=${PRODUCT_INSTALL} --with-mpi-dir=${MPI_ROOT_DIR} ${CONFIGURE_FLAGS}
+
+ CONFIGURE_FLAGS+=" --with-mpi-dir=${MPI_ROOT_DIR}"
+
else
- CONFIGURE_FLAGS+=" --download-metis=ext/metis-5.1.0-p11.tar.gz"
- echo "*** configure --prefix=${PRODUCT_INSTALL} --with-mpi=0 ${CONFIGURE_FLAGS}"
- ./configure --prefix=${PRODUCT_INSTALL} --with-mpi=0 ${CONFIGURE_FLAGS}
+ CONFIGURE_FLAGS+=" --with-mpi=0"
fi
-if [ $? -ne 0 ]
-then
+echo "*** configure --prefix=${PRODUCT_INSTALL} ${CONFIGURE_FLAGS}"
+if ! ./configure --prefix="${PRODUCT_INSTALL}" "${CONFIGURE_FLAGS}"; then
echo "ERROR on configure"
exit 1
fi
MAKE_OPTIONS="PETSC_DIR=${BUILD_DIR}"
echo
-echo "*** make" $MAKE_OPTIONS
-make $MAKE_OPTIONS
-if [ $? -ne 0 ]
-then
+echo "*** make $MAKE_OPTIONS"
+if ! make "$MAKE_OPTIONS"; then
echo "ERROR on make"
exit 2
fi
# MAKE_OPTIONS=$MAKE_OPTIONS" PETSC_ARCH=arch-linux-c-debug"
echo
-echo "*** make install"
-make $MAKE_OPTIONS install
-if [ $? -ne 0 ]
-then
+echo "*** make $MAKE_OPTIONS install"
+if ! make "$MAKE_OPTIONS" install; then
echo "ERROR on make install"
exit 3
fi
echo
-echo "*** make check"
-make $MAKE_OPTIONS check
-if [ $? -ne 0 ]
-then
+echo "*** make $MAKE_OPTIONS check"
+if ! make "$MAKE_OPTIONS" check; then
echo "ERROR on make check"
exit 4
fi
post_script: "fix_permissions.sh"
}
+version_3_20_0 :
+{
+ compil_script : "petsc-3.20.0.sh"
+ depend : ["hdf5", "Python", "lapack","fftw", "llvm", "metis", "medfile" ]
+}
+
version_3_19_4 :
{
compil_script : "petsc-3.19.4.sh"
- depend : ["hdf5", "Python", "lapack","fftw", "llvm"]
+ depend : ["hdf5", "Python", "lapack","fftw", "llvm", "metis", "medfile" ]
patches: ['petsc-3.19.4-mpi4py.patch','petsc-3.19.4-libpath.patch']
}