Skip to content

Commit 0eae8ab

Browse files
CHG: New archives; changes to ext pkg install scripts and Makefiles as needed to account for new changes to macOS linker
1 parent ec666e0 commit 0eae8ab

29 files changed

+363
-43
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,9 @@ nightlylog
7676
# Nightly runs #
7777
#===============
7878
test/NightlyRun/*.bin
79+
test/NightlyRun/*.queue
7980
test/NightlyRun/*.tar.gz
81+
test/NightlyRun/*.toolkits
8082

8183
# Examples #
8284
#===========

externalpackages/dakota/install-6.2-mac.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,12 @@ cmake \
7676
-DBUILD_SHARED_LIBS=ON \
7777
-DBUILD_STATIC_LIBS=OFF \
7878
-DCMAKE_C_COMPILER=${MPI_HOME}/bin/mpicc \
79-
-DCMAKE_C_FLAGS="-w -Wno-error=implicit-int" \
79+
-DCMAKE_C_FLAGS="-w -Wno-error=implicit-int -Wno-implicit-function-declaration" \
8080
-DCMAKE_CXX_COMPILER=${MPI_HOME}/bin/mpicxx \
8181
-DCMAKE_CXX_FLAGS="-fdelayed-template-parsing -w" \
8282
-DCMAKE_CXX_STANDARD="11" \
8383
-DCMAKE_Fortran_COMPILER=${MPI_HOME}/bin/mpif77 \
84+
-DCMAKE_Fortran_FLAGS="-fallow-argument-mismatch -w" \
8485
-DBoost_NO_BOOST_CMAKE=TRUE \
8586
-DHAVE_ACRO=OFF \
8687
-DHAVE_JEGA=OFF \
File renamed without changes.
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
#!/bin/bash
2+
set -e
3+
4+
5+
## TODO
6+
# - May want to supply path to Python instead of, effectively, using result of `which python`
7+
#
8+
9+
## Constants
10+
#
11+
VER="3.8.4"
12+
13+
PREFIX="${ISSM_DIR}/externalpackages/gdal/install"
14+
15+
## Environment
16+
#
17+
export CFLAGS="${CFLAGS} -w"
18+
export CXXFLAGS="${CXXFLAGS} -w"
19+
20+
# Cleanup
21+
rm -rf ${PREFIX} src
22+
mkdir -p ${PREFIX} src
23+
24+
# Download source
25+
${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gdal-${VER}.tar.gz" "gdal-${VER}.tar.gz"
26+
27+
# Unpack source
28+
tar -zxvf gdal-${VER}.tar.gz
29+
30+
# Move source into 'src' directory
31+
mv gdal-${VER}/* src
32+
rm -rf gdal-${VER}
33+
34+
# Configure
35+
cd src
36+
cmake \
37+
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
38+
-DCMAKE_BUILD_TYPE=Release \
39+
-DCMAKE_C_COMPILER=mpicc \
40+
-DCMAKE_CXX_COMPILER=mpicxx \
41+
-DBUILD_SHARED_LIBS=ON \
42+
-DBUILD_PYTHON_BINDINGS=ON \
43+
-DGDAL_PYTHON_INSTALL_PREFIX="${PREFIX}" \
44+
-DGDAL_SET_INSTALL_RELATIVE_RPATH=ON \
45+
-DGDAL_USE_ARCHIVE=OFF \
46+
-DGDAL_USE_CRYPTOPP=OFF \
47+
-DCURL_DIR="${CURL_ROOT}" \
48+
-DGDAL_USE_JPEG_INTERNAL=ON \
49+
-DGDAL_USE_JPEG12_INTERNAL=ON \
50+
-DNETCDF_DIR="${NETCDF_ROOT}" \
51+
-DGDAL_USE_OPENJPEG=OFF \
52+
-DGDAL_USE_OPENSSL=OFF \
53+
-DGDAL_USE_PNG_INTERNAL=ON \
54+
-DPROJ_DIR="${PROJ_ROOT}" \
55+
-DGDAL_USE_TIFF_INTERNAL=ON \
56+
-DZLIB_DIR="${ZLIB_ROOT}" \
57+
-DGDAL_USE_ZSTD=OFF
58+
59+
# Compile and install
60+
if [ $# -eq 0 ]; then
61+
make
62+
make install
63+
else
64+
make -j $1
65+
make -j $1 install
66+
fi
67+
68+
## Add path to certain libraries to rpath for libraries that need it
69+
#
70+
# TODO: Figure out how to reconfigure source to add to rpath at compile time
71+
#
72+
cd ${PREFIX}/lib
73+
install_name_tool -add_rpath ${NETCDF_ROOT}/lib libgdal.dylib
74+
install_name_tool -add_rpath ${PROJ_ROOT}/lib libgdal.dylib
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
#!/bin/bash
2+
set -e
3+
4+
5+
## TODO
6+
# - May want to supply path to Python instead of, effectively, using result of `which python`
7+
#
8+
9+
## Constants
10+
#
11+
VER="3.8.4"
12+
13+
PREFIX="${ISSM_DIR}/externalpackages/gdal/install"
14+
15+
## Environment
16+
#
17+
export CFLAGS="${CFLAGS} -w"
18+
export CXXFLAGS="${CXXFLAGS} -w"
19+
20+
# Cleanup
21+
rm -rf ${PREFIX} src
22+
mkdir -p ${PREFIX} src
23+
24+
# Download source
25+
${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gdal-${VER}.tar.gz" "gdal-${VER}.tar.gz"
26+
27+
# Unpack source
28+
tar -zxvf gdal-${VER}.tar.gz
29+
30+
# Move source into 'src' directory
31+
mv gdal-${VER}/* src
32+
rm -rf gdal-${VER}
33+
34+
# Configure
35+
cd src
36+
cmake \
37+
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
38+
-DCMAKE_BUILD_TYPE=Release \
39+
-DCMAKE_C_COMPILER=mpicc \
40+
-DCMAKE_CXX_COMPILER=mpicxx \
41+
-DBUILD_SHARED_LIBS=ON \
42+
-DBUILD_PYTHON_BINDINGS=OFF \
43+
-DGDAL_PYTHON_INSTALL_PREFIX="${PREFIX}" \
44+
-DGDAL_SET_INSTALL_RELATIVE_RPATH=ON \
45+
-DGDAL_USE_ARCHIVE=OFF \
46+
-DGDAL_USE_CRYPTOPP=OFF \
47+
-DCURL_DIR="${CURL_ROOT}" \
48+
-DGDAL_USE_JPEG_INTERNAL=ON \
49+
-DGDAL_USE_JPEG12_INTERNAL=ON \
50+
-DNETCDF_DIR="${NETCDF_ROOT}" \
51+
-DGDAL_USE_OPENJPEG=OFF \
52+
-DGDAL_USE_OPENSSL=OFF \
53+
-DGDAL_USE_PNG_INTERNAL=ON \
54+
-DPROJ_DIR="${PROJ_ROOT}" \
55+
-DGDAL_USE_TIFF_INTERNAL=ON \
56+
-DZLIB_DIR="${ZLIB_ROOT}" \
57+
-DGDAL_USE_ZSTD=OFF
58+
59+
# Compile and install
60+
if [ $# -eq 0 ]; then
61+
make
62+
make install
63+
else
64+
make -j $1
65+
make -j $1 install
66+
fi
67+
68+
## Add path to certain libraries to rpath for libraries that need it
69+
#
70+
# TODO: Figure out how to reconfigure source to add to rpath at compile time
71+
#
72+
cd ${PREFIX}/lib
73+
install_name_tool -add_rpath ${NETCDF_ROOT}/lib libgdal.dylib
74+
install_name_tool -add_rpath ${PROJ_ROOT}/lib libgdal.dylib
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#!/bin/bash
2+
set -eu
3+
4+
## Constants
5+
#
6+
VER="3.22.0"
7+
8+
PETSC_DIR="${ISSM_DIR}/externalpackages/petsc/src" # DO NOT CHANGE THIS
9+
PREFIX="${ISSM_DIR}/externalpackages/petsc/install" # Set to location where external package should be installed
10+
11+
# Download source
12+
${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-${VER}.tar.gz" "petsc-${VER}.tar.gz"
13+
14+
# Unpack source
15+
tar -zxvf petsc-${VER}.tar.gz
16+
17+
# Cleanup
18+
rm -rf ${PREFIX} ${PETSC_DIR}
19+
mkdir -p ${PETSC_DIR}
20+
21+
# Move source to $PETSC_DIR
22+
mv petsc-${VER}/* ${PETSC_DIR}
23+
rm -rf petsc-${VER}
24+
25+
# Configure
26+
cd ${PETSC_DIR}
27+
./configure \
28+
--prefix="${PREFIX}" \
29+
--PETSC_DIR="${PETSC_DIR}" \
30+
--CFLAGS="-g -O2" --CXXFLAGS="-g -O2" --FFLAGS="-g -O2" \
31+
--with-debugging=0 \
32+
--with-valgrind=0 \
33+
--with-x=0 \
34+
--with-ssl=0 \
35+
--with-pic=1 \
36+
--download-fblaslapack=1 \
37+
--download-metis=1 \
38+
--download-mpich=1 \
39+
--download-mumps=1 \
40+
--download-parmetis=1 \
41+
--download-scalapack=1 \
42+
--download-zlib=1
43+
44+
# Compile and install
45+
make
46+
make install
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#!/bin/bash
2+
set -eu
3+
4+
## Constants
5+
#
6+
VER="3.22.0"
7+
8+
PETSC_DIR="${ISSM_DIR}/externalpackages/petsc/src" # DO NOT CHANGE THIS
9+
PREFIX="${ISSM_DIR}/externalpackages/petsc/install" # Set to location where external package should be installed
10+
11+
# Download source
12+
${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-${VER}.tar.gz" "petsc-${VER}.tar.gz"
13+
14+
# Unpack source
15+
tar -zxvf petsc-${VER}.tar.gz
16+
17+
# Cleanup
18+
rm -rf ${PREFIX} ${PETSC_DIR}
19+
mkdir -p ${PETSC_DIR}
20+
21+
# Move source to $PETSC_DIR
22+
mv petsc-${VER}/* ${PETSC_DIR}
23+
rm -rf petsc-${VER}
24+
25+
# Edit configuration script
26+
sed -i.bak '/warning: -commons use_dylibs is no longer supported, using error treatment instead/d' src/config/BuildSystem/config/setCompilers.py
27+
28+
# Configure
29+
cd ${PETSC_DIR}
30+
./configure \
31+
--prefix="${PREFIX}" \
32+
--PETSC_DIR="${PETSC_DIR}" \
33+
--CFLAGS="-g -O2" --CXXFLAGS="-g -O2" --FFLAGS="-g -O2" \
34+
--LDFLAGS="-Wl,-ld_classic -Wl,-commons,use_dylibs" \
35+
--with-debugging=1 \
36+
--with-valgrind=0 \
37+
--with-x=0 \
38+
--with-ssl=0 \
39+
--with-pic=1 \
40+
--download-fblaslapack=1 \
41+
--download-metis=1 \
42+
--download-mpich=1 \
43+
--download-mumps=1 \
44+
--download-parmetis=1 \
45+
--download-scalapack=1 \
46+
--download-zlib=1
47+
48+
# Compile and install
49+
make
50+
make install

externalpackages/proj/install-9.sh

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
#!/bin/bash
2+
set -eu
3+
4+
5+
# Constants
6+
#
7+
VER="9.5.0"
8+
9+
PREFIX="${ISSM_DIR}/externalpackages/proj/install" # Set to location where external package should be installed
10+
11+
## Environment
12+
#
13+
export CC=mpicc
14+
export CXX=mpicxx
15+
16+
# NOTE: On macOS, SQLite3 should be installed by default, but PROJ currently
17+
# requires,
18+
#
19+
# SQLITE3_LIBS="-lsqlite3".
20+
#
21+
# On Ubuntu Linux, install the SQLite3 binary, libraries and headers with,
22+
#
23+
# apt-get install sqlite3 libsqlite3-dev
24+
#
25+
export SQLITE3_LIBS="-lsqlite3"
26+
27+
# Cleanup
28+
rm -rf ${PREFIX} src
29+
mkdir -p ${PREFIX} src
30+
31+
# Download source
32+
$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/proj-${VER}.tar.gz" "proj-${VER}.tar.gz"
33+
34+
# Unpack source
35+
tar -zxvf proj-${VER}.tar.gz
36+
37+
# Move source into 'src' directory
38+
mv proj-${VER}/* src
39+
rm -rf proj-${VER}
40+
41+
# Configure
42+
cd src
43+
mkdir build
44+
cd build
45+
cmake .. \
46+
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
47+
-DCMAKE_BUILD_TYPE=Release \
48+
-DCMAKE_C_COMPILER=mpicc \
49+
-DCMAKE_CXX_COMPILER=mpicxx \
50+
-DBUILD_SHARED_LIBS=ON
51+
52+
# Compile and install
53+
cmake --build .
54+
cmake --build . --target install

jenkins/mac-intel-full

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ ISSM_CONFIG='\
5050
EXTERNALPACKAGES="
5151
autotools install-mac.sh
5252
cmake install.sh
53-
petsc install-3.20-mac.sh
53+
petsc install-3.22-mac.sh
5454
gsl install.sh
5555
boost install-1.7-mac.sh
5656
dakota install-6.2-mac.sh

0 commit comments

Comments
 (0)