From d6e1fe1f2bdb6275f560fc35a6dba39b58819aa4 Mon Sep 17 00:00:00 2001 From: Guytri KASTANE Date: Wed, 13 Sep 2023 09:50:28 +0200 Subject: [PATCH] Add fftw dependency and add sections in config files (petsc, fftw); add compilation script for petsc 3.19.4 and fftw 3.3.10 --- applications/SALOME-master.pyconf | 6 ++ products/compil_scripts/fftw-3.3.10.sh | 4 +- products/compil_scripts/petsc-3.19.4.sh | 106 +++++++----------------- products/petsc.pyconf | 9 +- 4 files changed, 39 insertions(+), 86 deletions(-) diff --git a/applications/SALOME-master.pyconf b/applications/SALOME-master.pyconf index 71070b6..a416e54 100644 --- a/applications/SALOME-master.pyconf +++ b/applications/SALOME-master.pyconf @@ -60,6 +60,7 @@ APPLICATION : embree : '3.12.2' FMILibrary : '2.0.3' fonttools : '4.48.1' + fftw : {tag : '3.3.10', section: 'version_3_3_10', base: 'no'} freeimage : '3.16.0' freetype : '2.9.1' gcc : '8.5.0' @@ -107,8 +108,13 @@ APPLICATION : pandas : '1.1.5' patsy : '0.5.4' ParaView : {tag:'5.11.0', base: 'no', section: 'version_5_11_0_MPI', hpc: 'yes'} +<<<<<<< HEAD PERSALYS: 'v14.1' petsc : {tag : '3.16.0', base: 'no', section: 'version_3_16_0', hpc: 'yes'} +======= + PERSALYS: 'v14.0.1' + petsc : {tag : '3.19.4', base: 'no', section: 'version_3_19_4', hpc: 'yes'} +>>>>>>> Add fftw dependency and add sections in config files (petsc, fftw); add compilation script for petsc 3.19.4 and fftw 3.3.10 Pillow : '8.4.0' planegcs : '0.18-3cb6890' psutil : '5.9.8' diff --git a/products/compil_scripts/fftw-3.3.10.sh b/products/compil_scripts/fftw-3.3.10.sh index f4660bd..82728f9 100755 --- a/products/compil_scripts/fftw-3.3.10.sh +++ b/products/compil_scripts/fftw-3.3.10.sh @@ -16,7 +16,7 @@ if [ $? -ne 0 ]; then exit 1 fi -echo +echo echo "*** make" make if [ $? -ne 0 ]; then @@ -24,7 +24,7 @@ if [ $? -ne 0 ]; then exit 2 fi -echo +echo echo "*** make install" make install if [ $? -ne 0 ]; then diff --git a/products/compil_scripts/petsc-3.19.4.sh b/products/compil_scripts/petsc-3.19.4.sh index 34e2206..2c50abe 100755 --- a/products/compil_scripts/petsc-3.19.4.sh +++ b/products/compil_scripts/petsc-3.19.4.sh @@ -1,89 +1,46 @@ #!/bin/bash echo "##########################################################################" -echo "PETSc" $VERSION +echo "Petsc" $VERSION echo "##########################################################################" -NATIVE_PATH="/usr" -LINUX_DISTRIBUTION="$DIST_NAME$DIST_VERSION" -echo "WARNING: " -case $LINUX_DISTRIBUTION in - UB*|DB*) - NATIVE_PATH="/usr/lib/x86_64-linux-gnu" - ;; - *) - ;; -esac - cp -r $SOURCE_DIR/* . CONFIGURE_FLAGS= -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=1" -elif [ -n "${LAPACK_ROOT_DIR}" ] && [ "${SAT_lapack_IS_NATIVE}" != "1" ]; then - CONFIGURE_FLAGS+=" --with-blaslapack-dir=${LAPACK_ROOT_DIR}" -else - CONFIGURE_FLAGS+=" --download-f2cblaslapack=ext/f2cblaslapack-3.8.0.q2.tar.gz" -fi - +CONFIGURE_FLAGS+=" --with-blaslapack-dir=${LAPACK_ROOT_DIR}" CONFIGURE_FLAGS+=" --with-python-dir=${PYTHON_ROOT_DIR}" +CONFIGURE_FLAGS+=" --download-slepc=/home/salome-public/prerequis/archives/slepc-3.19.2.tar.gz" CONFIGURE_FLAGS+=" --with-hdf5-dir=${HDF5_ROOT_DIR}" - -if [ -f "${NATIVE_PATH}/libfftw3.a" ] && [ "${SAT_fftw_IS_NATIVE}" == "1" ]; then - 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+=" --download-fftw=ext/fftw-3.3.10.tar.gz" -fi - +CONFIGURE_FLAGS+=" --with-fftw-dir=${FFTW_ROOT_DIR}" CONFIGURE_FLAGS+=" --with-cuda=0" # CONFIGURE_FLAGS+=" --with-debugging=0" # by default Petsc is build in debug mode 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 - +CONFIGURE_FLAGS+=" --CFLAGS=-fPIC" # echo -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 +if [ -n "${SAT_HPC}" ] +then + CONFIGURE_FLAGS+=" --download-hypre=ext/hypre-2.27.0.tar.gz" + CONFIGURE_FLAGS+=" --download-parms=ext/parms-3.2-p5.tar.gz" + CONFIGURE_FLAGS+=" --download-metis=ext/metis-5.1.0-p10.tar.gz" + CONFIGURE_FLAGS+=" --download-parmetis=ext/parmetis-4.0.3-p6.tar.gz" + CONFIGURE_FLAGS+=" --download-ptscotch=ext/scotch_6.1.0.tar.gz" + 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" + CONFIGURE_FLAGS+=" --download-mpi4py=ext/mpi4py-3.0.3.tar.gz" fi - - CONFIGURE_FLAGS+=" --with-mpi-dir=${MPI_ROOT_DIR}" - + 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} else - CONFIGURE_FLAGS+=" --with-mpi=0" + CONFIGURE_FLAGS+=" --with-metis-dir=${METIS_ROOT_DIR}" + echo "*** configure --prefix=${PRODUCT_INSTALL} --with-mpi=0 ${CONFIGURE_FLAGS}" + ./configure --prefix=${PRODUCT_INSTALL} --with-mpi=0 ${CONFIGURE_FLAGS} fi -echo "*** configure --prefix=${PRODUCT_INSTALL} ${CONFIGURE_FLAGS}" -if ! ./configure --prefix="${PRODUCT_INSTALL}" "${CONFIGURE_FLAGS}"; then +if [ $? -ne 0 ] +then echo "ERROR on configure" exit 1 fi @@ -91,8 +48,10 @@ fi MAKE_OPTIONS="PETSC_DIR=${BUILD_DIR}" echo -echo "*** make $MAKE_OPTIONS" -if ! make "$MAKE_OPTIONS"; then +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then echo "ERROR on make" exit 2 fi @@ -101,19 +60,14 @@ fi # MAKE_OPTIONS=$MAKE_OPTIONS" PETSC_ARCH=arch-linux-c-debug" echo -echo "*** make $MAKE_OPTIONS install" -if ! make "$MAKE_OPTIONS" install; then +echo "*** make install" +make $MAKE_OPTIONS install +if [ $? -ne 0 ] +then echo "ERROR on make install" exit 3 fi -echo -echo "*** make $MAKE_OPTIONS check" -if ! make "$MAKE_OPTIONS" check; then - echo "ERROR on make check" - exit 4 -fi - echo echo "########## END" diff --git a/products/petsc.pyconf b/products/petsc.pyconf index 78fa630..6256fe4 100644 --- a/products/petsc.pyconf +++ b/products/petsc.pyconf @@ -21,17 +21,10 @@ default : 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", "metis", "medfile" ] - patches: ['petsc-3.19.4-mpi4py.patch','petsc-3.19.4-libpath.patch'] + depend : ["hdf5", "Python", "lapack","fftw", "llvm"] } version_3_17_0 : -- 2.39.2