source: issm/trunk/externalpackages/petsc/install-3.14-mac.sh

Last change on this file was 28013, checked in by Mathieu Morlighem, 16 months ago

merged trunk-jpl and trunk for revision 28011

  • Property svn:executable set to *
File size: 1.5 KB
RevLine 
[25672]1#!/bin/bash
2set -eu
3
4
5## Constants
[27035]6#
7VER="3.14.6"
[25672]8
[27035]9PETSC_DIR="${ISSM_DIR}/externalpackages/petsc/src" # DO NOT CHANGE THIS
10PREFIX="${ISSM_DIR}/externalpackages/petsc/install" # Set to location where external package should be installed
11
[25672]12# Download source
[27035]13$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
[25672]14
15# Unpack source
16tar -zxvf petsc-${VER}.tar.gz
17
18# Cleanup
[27035]19rm -rf ${PREFIX} ${PETSC_DIR}
[27232]20mkdir -p ${PETSC_DIR}
[25672]21
[27035]22# Move source to $PETSC_DIR
23mv petsc-${VER}/* ${PETSC_DIR}
[25672]24rm -rf petsc-${VER}
25
[28013]26# Modify source so that Python 3 can be used to compile PETSc
27sed -i'' 's|#!/usr/bin/env python|#!/usr/bin/env python3|g' ${PETSC_DIR}/config/configure.py
28
29# Modify source so that Python >= 3.9 can be used to compile PETSc
30sed -i'' 's|thread.isAlive|thread.is_alive|g' ${PETSC_DIR}/config/BuildSystem/script.py
31
[25672]32# Configure
[25800]33#
34# NOTE:
[27035]35# - Added -Wno-error=implicit-function-declaration to CFLAGS for Clang >= 12.
36# (may need to remove it for earlier versions not using the C99 standard).
[25800]37#
[27035]38cd ${PETSC_DIR}
[28013]39./configure \
[27035]40 --prefix="${PREFIX}" \
41 --PETSC_DIR="${PETSC_DIR}" \
[25800]42 --CFLAGS="-Wno-error=implicit-function-declaration" \
[25672]43 --with-debugging=0 \
44 --with-valgrind=0 \
45 --with-x=0 \
46 --with-ssl=0 \
47 --with-pic=1 \
48 --download-fblaslapack=1 \
49 --download-mpich=1 \
50 --download-metis=1 \
51 --download-parmetis=1 \
52 --download-scalapack=1 \
53 --download-mumps=1 \
[28013]54 --download-zlib=1
[25672]55
56# Compile and install
[25713]57make
58make install
Note: See TracBrowser for help on using the repository browser.