Index: /issm/trunk-jpl/externalpackages/petsc/install-3.14-mac-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/petsc/install-3.14-mac-static.sh	(revision 27558)
+++ /issm/trunk-jpl/externalpackages/petsc/install-3.14-mac-static.sh	(revision 27559)
@@ -62,6 +62,5 @@
 	--download-scalapack=1 \
 	--download-mumps=1 \
-	--download-zlib=1 \
-	--download-hdf5=1
+	--download-zlib=1
 
 # Compile and install
Index: /issm/trunk-jpl/externalpackages/petsc/install-3.14-mac-with-hdf5-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/petsc/install-3.14-mac-with-hdf5-static.sh	(revision 27559)
+++ /issm/trunk-jpl/externalpackages/petsc/install-3.14-mac-with-hdf5-static.sh	(revision 27559)
@@ -0,0 +1,69 @@
+#!/bin/bash
+set -eu
+
+
+## Constants
+#
+VER="3.14.6"
+
+PETSC_DIR=${ISSM_DIR}/externalpackages/petsc/src # DO NOT CHANGE THIS
+PREFIX="${ISSM_DIR}/externalpackages/petsc/install" # Set to location where external package should be installed
+
+# Download source
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
+
+# Unpack source
+tar -zxvf petsc-${VER}.tar.gz
+
+# Cleanup
+rm -rf ${PREFIX} ${PETSC_DIR}
+mkdir -p ${PETSC_DIR}
+
+# Move source to $PETSC_DIR
+mv petsc-${VER}/* ${PETSC_DIR}
+rm -rf petsc-${VER}
+
+# Modify source so that Python 3 can be used to compile PETSc
+sed -i'' 's|#!/usr/bin/env python|#!/usr/bin/env python3|g' ${PETSC_DIR}/config/configure.py
+
+# Modify source so that Python >= 3.9 can be used to compile PETSc
+sed -i'' 's|thread.isAlive|thread.is_alive|g' ${PETSC_DIR}/config/BuildSystem/script.py
+
+# Configure
+#
+# NOTE:
+# - Cannot use --with-fpic option when compiling static libs,
+#
+#		Cannot determine compiler PIC flags if shared libraries is turned off
+#		Either run using --with-shared-libraries or --with-pic=0 and supply the
+#		compiler PIC flag via CFLAGS, CXXXFLAGS, and FCFLAGS
+#
+# - Added -Wno-error=implicit-function-declaration to CFLAGS for Clang >= 12. 
+#	(may need to remove it for earlier versions not using the C99 standard).
+# - Added -static-libgfortran to all macOS static builds, but this will not 
+#	work out of the box on Linux.
+#
+cd ${PETSC_DIR}
+./config/configure.py \
+	--prefix="${PREFIX}" \
+	--PETSC_DIR="${PETSC_DIR}" \
+	--with-shared-libraries=0 \
+	--CFLAGS="-fPIC -Wno-error=implicit-function-declaration" \
+	--CXXFLAGS="-fPIC" \
+	--FFLAGS="-fPIC -static-libgfortran" \
+	--with-debugging=0 \
+	--with-valgrind=0 \
+	--with-x=0 \
+	--with-ssl=0 \
+	--download-fblaslapack=1 \
+	--download-mpich=1 \
+	--download-metis=1 \
+	--download-parmetis=1 \
+	--download-scalapack=1 \
+	--download-mumps=1 \
+	--download-zlib=1 \
+	--download-hdf5=1
+
+# Compile and install
+make
+make install
Index: sm/trunk-jpl/jenkins/mac-binaries-python
===================================================================
--- /issm/trunk-jpl/jenkins/mac-binaries-python	(revision 27558)
+++ 	(revision )
@@ -1,92 +1,0 @@
-#--------------------#
-# ISSM Configuration #
-#--------------------#
-
-# NOTE:
-# - We can disable dependency tracking in the Autotools because the binaries
-#	should always be a one-time build.
-#
-# TODO:
-# - Add static copy of libsqlite and make sure it is found during GMT configuration
-#
-
-ISSM_CONFIG='\
-	--prefix=${ISSM_DIR} \
-	--enable-standalone-executables \
-	--enable-standalone-modules \
-	--enable-standalone-libraries \
-	--disable-dependency-tracking \
-	--with-python-version="3.9" \
-	--with-python-dir=/System/Volumes/Data/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9 \
-	--with-python-numpy-dir=/Library/Python/3.9/site-packages/numpy/core/include/numpy \
-	--with-fortran-lib="/usr/local/Cellar/gcc/12.2.0/lib/gcc/12/libgfortran.a /usr/local/Cellar/gcc/12.2.0/lib/gcc/12/libquadmath.a //usr/local/Cellar/gcc/12.2.0/lib/gcc/12/gcc/x86_64-apple-darwin21/12/libgcc.a" \
-	--with-mpi-include=${ISSM_DIR}/externalpackages/petsc/install/include \
-	--with-mpi-libflags="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lmpi -lmpicxx -lmpifort" \
-	--with-blas-lapack-dir=${ISSM_DIR}/externalpackages/petsc/install \
-	--with-metis-dir=${ISSM_DIR}/externalpackages/petsc/install \
-	--with-parmetis-dir=${ISSM_DIR}/externalpackages/petsc/install \
-	--with-scalapack-dir=${ISSM_DIR}/externalpackages/petsc/install \
-	--with-mumps-dir=${ISSM_DIR}/externalpackages/petsc/install \
-	--with-hdf5-dir=${ISSM_DIR}/externalpackages/petsc/install \
-	--with-petsc-dir=${ISSM_DIR}/externalpackages/petsc/install \
-	--with-gsl-dir=${ISSM_DIR}/externalpackages/gsl/install \
-	--with-boost-dir=${ISSM_DIR}/externalpackages/boost/install \
-	--with-dakota-dir=${ISSM_DIR}/externalpackages/dakota/install \
-	--with-proj-dir=${ISSM_DIR}/externalpackages/proj/install \
-	--with-triangle-dir=${ISSM_DIR}/externalpackages/triangle/install \
-	--with-chaco-dir=${ISSM_DIR}/externalpackages/chaco/install \
-	--with-m1qn3-dir=${ISSM_DIR}/externalpackages/m1qn3/install \
-	--with-semic-dir=${ISSM_DIR}/externalpackages/semic/install \
-'
-
-#-------------------#
-# External Packages #
-#-------------------#
-
-EXTERNALPACKAGES="
-	autotools	install-mac.sh
-	cmake		install.sh
-	petsc		install-3.14-mac-static.sh
-	gsl			install-static.sh
-	boost		install-1.7-mac-static.sh
-	dakota		install-6.2-mac-static.sh
-	curl		install-7-mac-static.sh
-	netcdf		install-4.7-parallel-static.sh
-	proj		install-6-static.sh
-	gdal		install-3-python-static.sh
-	gshhg		install.sh
-	gmt			install-6-mac-static.sh
-	gmsh		install-4-mac-static.sh
-	triangle	install-mac-static.sh
-	chaco		install-mac.sh
-	m1qn3		install.sh
-	semic		install.sh
-	shell2junit	install.sh
-"
-
-#---------#
-# Testing #
-#---------#
-
-# Test suites
-MATLAB_TEST=0
-PYTHON_TEST=0
-JAVASCRIPT_TEST=0
-EXAMPLES_TEST=0
-
-# Number of CPUs used in ISSM compilation
-#
-# NOTE: One is usually safer as some packages are very sensitive to parallel
-# 		compilation
-#
-NUMCPUS_INSTALL=8
-
-# Number of CPUs used in the nightly runs
-NUMCPUS_RUN=1
-
-# Nightly run options
-#
-# See documentation in test/NightlyRun/runme.* for more information.
-#
-PYTHON_NROPTIONS=""
-MATLAB_NROPTIONS=""
Index: /issm/trunk-jpl/jenkins/mac-intel-binaries-matlab
===================================================================
--- /issm/trunk-jpl/jenkins/mac-intel-binaries-matlab	(revision 27558)
+++ /issm/trunk-jpl/jenkins/mac-intel-binaries-matlab	(revision 27559)
@@ -3,5 +3,4 @@
 #--------------------#
 
-# MATLAB path
 MATLAB_PATH="/Applications/MATLAB_R2018a.app"
 
@@ -14,5 +13,4 @@
 #
 
-# ISSM CONFIGURATION
 ISSM_CONFIG='\
 	--prefix=${ISSM_DIR} \
@@ -49,5 +47,5 @@
 	autotools	install-mac.sh
 	cmake		install.sh
-	petsc		install-3.14-mac-static.sh
+	petsc		install-3.14-mac-with-hdf5-static.sh
 	gsl			install-static.sh
 	boost		install-1.7-mac-static.sh
Index: /issm/trunk-jpl/jenkins/mac-intel-binaries-python
===================================================================
--- /issm/trunk-jpl/jenkins/mac-intel-binaries-python	(revision 27559)
+++ /issm/trunk-jpl/jenkins/mac-intel-binaries-python	(revision 27559)
@@ -0,0 +1,92 @@
+#--------------------#
+# ISSM Configuration #
+#--------------------#
+
+# NOTE:
+# - We can disable dependency tracking in the Autotools because the binaries
+#	should always be a one-time build.
+#
+# TODO:
+# - Add static copy of libsqlite and make sure it is found during GMT configuration
+#
+
+ISSM_CONFIG='\
+	--prefix=${ISSM_DIR} \
+	--enable-standalone-executables \
+	--enable-standalone-modules \
+	--enable-standalone-libraries \
+	--disable-dependency-tracking \
+	--with-python-version="3.9" \
+	--with-python-dir=/System/Volumes/Data/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9 \
+	--with-python-numpy-dir=/Library/Python/3.9/site-packages/numpy/core/include/numpy \
+	--with-fortran-lib="/usr/local/Cellar/gcc/12.2.0/lib/gcc/12/libgfortran.a /usr/local/Cellar/gcc/12.2.0/lib/gcc/12/libquadmath.a //usr/local/Cellar/gcc/12.2.0/lib/gcc/12/gcc/x86_64-apple-darwin21/12/libgcc.a" \
+	--with-mpi-include=${ISSM_DIR}/externalpackages/petsc/install/include \
+	--with-mpi-libflags="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lmpi -lmpicxx -lmpifort" \
+	--with-blas-lapack-dir=${ISSM_DIR}/externalpackages/petsc/install \
+	--with-metis-dir=${ISSM_DIR}/externalpackages/petsc/install \
+	--with-parmetis-dir=${ISSM_DIR}/externalpackages/petsc/install \
+	--with-scalapack-dir=${ISSM_DIR}/externalpackages/petsc/install \
+	--with-mumps-dir=${ISSM_DIR}/externalpackages/petsc/install \
+	--with-hdf5-dir=${ISSM_DIR}/externalpackages/petsc/install \
+	--with-petsc-dir=${ISSM_DIR}/externalpackages/petsc/install \
+	--with-gsl-dir=${ISSM_DIR}/externalpackages/gsl/install \
+	--with-boost-dir=${ISSM_DIR}/externalpackages/boost/install \
+	--with-dakota-dir=${ISSM_DIR}/externalpackages/dakota/install \
+	--with-proj-dir=${ISSM_DIR}/externalpackages/proj/install \
+	--with-triangle-dir=${ISSM_DIR}/externalpackages/triangle/install \
+	--with-chaco-dir=${ISSM_DIR}/externalpackages/chaco/install \
+	--with-m1qn3-dir=${ISSM_DIR}/externalpackages/m1qn3/install \
+	--with-semic-dir=${ISSM_DIR}/externalpackages/semic/install \
+'
+
+#-------------------#
+# External Packages #
+#-------------------#
+
+EXTERNALPACKAGES="
+	autotools	install-mac.sh
+	cmake		install.sh
+	petsc		install-3.14-mac-with-hdf5-static.sh
+	gsl			install-static.sh
+	boost		install-1.7-mac-static.sh
+	dakota		install-6.2-mac-static.sh
+	curl		install-7-mac-static.sh
+	netcdf		install-4.7-parallel-static.sh
+	proj		install-6-static.sh
+	gdal		install-3-python-static.sh
+	gshhg		install.sh
+	gmt			install-6-mac-static.sh
+	gmsh		install-4-mac-static.sh
+	triangle	install-mac-static.sh
+	chaco		install-mac.sh
+	m1qn3		install.sh
+	semic		install.sh
+	shell2junit	install.sh
+"
+
+#---------#
+# Testing #
+#---------#
+
+# Test suites
+MATLAB_TEST=0
+PYTHON_TEST=0
+JAVASCRIPT_TEST=0
+EXAMPLES_TEST=0
+
+# Number of CPUs used in ISSM compilation
+#
+# NOTE: One is usually safer as some packages are very sensitive to parallel
+# 		compilation
+#
+NUMCPUS_INSTALL=8
+
+# Number of CPUs used in the nightly runs
+NUMCPUS_RUN=1
+
+# Nightly run options
+#
+# See documentation in test/NightlyRun/runme.* for more information.
+#
+PYTHON_NROPTIONS=""
+MATLAB_NROPTIONS=""
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-matlab
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-matlab	(revision 27558)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-matlab	(revision 27559)
@@ -11,4 +11,5 @@
 #	copied by packaging script.
 #
+
 ISSM_CONFIG='\
 	--prefix=${ISSM_DIR} \
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-python-2
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-python-2	(revision 27558)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-python-2	(revision 27559)
@@ -9,4 +9,5 @@
 #	copied by packaging script.
 #
+
 ISSM_CONFIG='\
 	--prefix=${ISSM_DIR} \
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-python-3
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-python-3	(revision 27558)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-binaries-python-3	(revision 27559)
@@ -9,4 +9,5 @@
 #	copied by packaging script.
 #
+
 ISSM_CONFIG='\
 	--prefix=${ISSM_DIR} \
