Skip to content

Commit

Permalink
Dependency version bumps in Dockerfiles (#2726)
Browse files Browse the repository at this point in the history
* Dependency version bumps in Dockerfiles

* HDF5 version quirk

* Fix HDF5 src paths

* Revert PETSc version

* HDF5 install

* PETSc version bump
  • Loading branch information
garth-wells authored Jul 15, 2023
1 parent 2b1bf86 commit 84b1675
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 24 deletions.
13 changes: 7 additions & 6 deletions docker/Dockerfile.oneapi
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@ FROM ubuntu:22.04
ARG BUILD_NP=2

ARG ADIOS2_VERSION=2.9.0
ARG HDF5_SERIES=1.12
ARG HDF5_PATCH=2
ARG PETSC_VERSION=3.19.2
ARG HDF5_SERIES=1.14
ARG HDF5_PATCH=1
ARG HDF5_FIX=-2
ARG PETSC_VERSION=3.19.3
ARG SLEPC_VERSION=3.19.1
ARG PYBIND11_VERSION=2.10.4
ARG KAHIP_VERSION=3.15
Expand Down Expand Up @@ -70,9 +71,9 @@ RUN . /opt/intel/oneapi/setvars.sh && \
# below to ensure that HDF5 is installed into a path where it can be
# found.
RUN . /opt/intel/oneapi/setvars.sh && \
wget -nc --quiet https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${HDF5_SERIES}/hdf5-${HDF5_SERIES}.${HDF5_PATCH}/src/hdf5-${HDF5_SERIES}.${HDF5_PATCH}.tar.gz && \
tar xfz hdf5-${HDF5_SERIES}.${HDF5_PATCH}.tar.gz && \
cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DHDF5_ENABLE_PARALLEL=on -DHDF5_ENABLE_Z_LIB_SUPPORT=on -B build-dir -S hdf5-${HDF5_SERIES}.${HDF5_PATCH} && \
wget -nc --quiet https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${HDF5_SERIES}/hdf5-${HDF5_SERIES}.${HDF5_PATCH}/src/hdf5-${HDF5_SERIES}.${HDF5_PATCH}${HDF5_FIX}.tar.gz && \
tar xfz hdf5-${HDF5_SERIES}.${HDF5_PATCH}${HDF5_FIX}.tar.gz && \
cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DHDF5_ENABLE_PARALLEL=on -DHDF5_ENABLE_Z_LIB_SUPPORT=on -B build-dir -S hdf5-${HDF5_SERIES}.${HDF5_PATCH}${HDF5_FIX} && \
cmake --build build-dir && \
cmake --install build-dir && \
rm -rf /tmp/*
Expand Down
26 changes: 14 additions & 12 deletions docker/Dockerfile.redhat
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,12 @@ FROM rockylinux/rockylinux:9

ARG BUILD_NP=2

ARG HDF5_SERIES=1.12
ARG HDF5_PATCH=2
ARG PETSC_VERSION=3.19.2
ARG HDF5_SERIES=1.14
ARG HDF5_PATCH=1
ARG HDF5_FIX=-2
ARG PETSC_VERSION=3.19.3
ARG NUMPY_VERSION=1.23.3
ARG MPICH_VERSION=4.1.1
ARG MPICH_VERSION=4.1.2

WORKDIR /tmp

Expand Down Expand Up @@ -53,6 +54,15 @@ RUN curl -L -O http://www.mpich.org/static/downloads/${MPICH_VERSION}/mpich-${MP
make -j${BUILD_NP} install && \
rm -rf /tmp/*

# Build HDF5
RUN echo
RUN curl -L -O https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${HDF5_SERIES}/hdf5-${HDF5_SERIES}.${HDF5_PATCH}/src/hdf5-${HDF5_SERIES}.${HDF5_PATCH}${HDF5_FIX}.tar.gz && \
tar -xf hdf5-${HDF5_SERIES}.${HDF5_PATCH}${HDF5_FIX}.tar.gz && \
cd hdf5-${HDF5_SERIES}.${HDF5_PATCH}${HDF5_FIX} && \
./configure --prefix=/usr/local --enable-parallel --enable-shared --enable-static=no && \
make -j${BUILD_NP} install && \
rm -rf /tmp/*

# First set of dependencies for building and running Python DOLFINx
# Second set of dependencies for running DOLFINx tests
RUN python3 -m pip install --no-binary="numpy" --no-cache-dir cffi numba mpi4py pybind11 wheel && \
Expand Down Expand Up @@ -85,14 +95,6 @@ RUN curl -L -O http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-lite-${P

ENV PETSC_DIR=/usr/local

# Build HDF5
RUN curl -L -O https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${HDF5_SERIES}/hdf5-${HDF5_SERIES}.${HDF5_PATCH}/src/hdf5-${HDF5_SERIES}.${HDF5_PATCH}.tar.gz && \
tar -xf hdf5-${HDF5_SERIES}.${HDF5_PATCH}.tar.gz && \
cd hdf5-${HDF5_SERIES}.${HDF5_PATCH} && \
./configure --prefix=/usr/local --enable-parallel --enable-shared --enable-static=no && \
make -j${BUILD_NP} install && \
rm -rf /tmp/*

# RHEL pkgconfig does not look here by default. Setting this probably
# better than forcing install into 'system path' or hacking in DOLFINx
# pkgconfig.py code.
Expand Down
14 changes: 8 additions & 6 deletions docker/Dockerfile.test-env
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,13 @@
ARG ADIOS2_VERSION=2.9.0
ARG DOXYGEN_VERSION=1_9_7
ARG GMSH_VERSION=4_11_1
ARG HDF5_SERIES=1.12
ARG HDF5_PATCH=2
ARG HDF5_SERIES=1.14
ARG HDF5_PATCH=1
ARG HDF5_FIX=-2
ARG KAHIP_VERSION=3.15
ARG NUMPY_VERSION=1.23.2
ARG PYBIND11_VERSION=2.10.4
ARG PETSC_VERSION=3.19.2
ARG PETSC_VERSION=3.19.3
ARG SLEPC_VERSION=3.19.1

ARG MPICH_VERSION=4.1.2
Expand All @@ -37,6 +38,7 @@ ARG DOXYGEN_VERSION
ARG GMSH_VERSION
ARG HDF5_SERIES
ARG HDF5_PATCH
ARG HDF5_FIX
ARG PYBIND11_VERSION
ARG PETSC_VERSION
ARG SLEPC_VERSION
Expand Down Expand Up @@ -169,9 +171,9 @@ RUN wget -nc --quiet https://github.com/kahip/kahip/archive/v${KAHIP_VERSION}.ta
# HDF5 overrides CMAKE_INSTALL_PREFIX by default, hence it is set
# below to ensure that HDF5 is installed into a path where it can be
# found.
RUN wget -nc --quiet https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${HDF5_SERIES}/hdf5-${HDF5_SERIES}.${HDF5_PATCH}/src/hdf5-${HDF5_SERIES}.${HDF5_PATCH}.tar.gz && \
tar xfz hdf5-${HDF5_SERIES}.${HDF5_PATCH}.tar.gz && \
cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DHDF5_ENABLE_PARALLEL=on -DHDF5_ENABLE_Z_LIB_SUPPORT=on -B build-dir -S hdf5-${HDF5_SERIES}.${HDF5_PATCH} && \
RUN wget -nc --quiet https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${HDF5_SERIES}/hdf5-${HDF5_SERIES}.${HDF5_PATCH}/src/hdf5-${HDF5_SERIES}.${HDF5_PATCH}${HDF5_FIX}.tar.gz && \
tar xfz hdf5-${HDF5_SERIES}.${HDF5_PATCH}${HDF5_FIX}.tar.gz && \
cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DHDF5_ENABLE_PARALLEL=on -DHDF5_ENABLE_Z_LIB_SUPPORT=on -B build-dir -S hdf5-${HDF5_SERIES}.${HDF5_PATCH}${HDF5_FIX} && \
cmake --build build-dir && \
cmake --install build-dir && \
rm -rf /tmp/*
Expand Down

0 comments on commit 84b1675

Please sign in to comment.