diff --git a/make_cp2k.sh b/make_cp2k.sh index a010ffbe98..a190916f3b 100755 --- a/make_cp2k.sh +++ b/make_cp2k.sh @@ -69,6 +69,15 @@ else EXIT_CMD="exit" fi +# Check platform +if [[ "$(uname -s)" == "Darwin" ]]; then + echo "ERROR: A build for Apple macOS (Darwin, Homebrew) is not supported yet," + echo " but CP2K can be built within a container using podman." + echo " Check the Dockerfiles in the folder cp2k/tools/docker like" + echo " Dockerfile.test_spack_openmpi-psmp and the usage description in their header" + ${EXIT_CMD} 1 +fi + # Help finding ldconfig if ! command -v ldconfig &> /dev/null; then PATH="${PATH}:/sbin" @@ -83,13 +92,6 @@ for package in awk bzip2 find g++ gcc gfortran git gzip ldconfig make patch pyth fi done -# Check platform -if [[ "$(uname -s)" == "Darwin" ]]; then - echo "ERROR: A build for Apple macOS (Darwin, Homebrew) is not supported yet," - echo " but CP2K can be built within a container, e.g. using Ubuntu" - ${EXIT_CMD} 1 -fi - # Print OS info if available if [[ -f /etc/os-release ]]; then echo "" diff --git a/tools/docker/Dockerfile.test_spack_openmpi-pdbg b/tools/docker/Dockerfile.test_spack_openmpi-pdbg index fee4ebcd09..2201135486 100644 --- a/tools/docker/Dockerfile.test_spack_openmpi-pdbg +++ b/tools/docker/Dockerfile.test_spack_openmpi-pdbg @@ -3,7 +3,7 @@ # Usage: ./spack_cache_start.sh; podman build --network=host --shm-size=1g -t spack_openmpi-pdbg -f ./Dockerfile.test_spack_openmpi-pdbg ../../ # -ARG BASE_IMAGE="ubuntu:24.04" +ARG BASE_IMAGE="ubuntu:26.04" ###### Stage 1: Build CP2K dependencies ###### @@ -13,7 +13,7 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ bzip2 \ ca-certificates \ cmake \ - g++ g++-13 gcc gcc-13 gfortran gfortran-13 \ + g++ g++-14 gcc gcc-14 gfortran gfortran-14 \ git \ gnupg \ libssh-dev \ @@ -32,6 +32,8 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ wget \ xxd \ xz-utils \ + zlib1g \ + zlib1g-dev \ zstd \ && rm -rf /var/lib/apt/lists/* @@ -47,20 +49,20 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv pdbg -gpu none -gv 13 -mpi openmpi -ue -ef openpmd +RUN ./make_cp2k.sh -bd_only -cv pdbg -gpu none -gv 14 -mpi openmpi -ef openpmd ###### Stage 2: Build CP2K ###### FROM build_deps AS build_cp2k -RUN ./make_cp2k.sh -cv pdbg -gv 13 -gpu none -mpi openmpi -ef openpmd +RUN ./make_cp2k.sh -cv pdbg -gv 14 -gpu none -mpi openmpi -ef openpmd ###### Stage 3: Install CP2K ###### FROM "${BASE_IMAGE}" AS install_cp2k RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ - g++ g++-13 gcc gcc-13 gfortran gfortran-13 \ + g++ g++-14 gcc gcc-14 gfortran gfortran-14 \ python3 \ && rm -rf /var/lib/apt/lists/* diff --git a/tools/docker/Dockerfile.test_spack_openmpi-psmp b/tools/docker/Dockerfile.test_spack_openmpi-psmp index 8272f58287..86ef201402 100644 --- a/tools/docker/Dockerfile.test_spack_openmpi-psmp +++ b/tools/docker/Dockerfile.test_spack_openmpi-psmp @@ -3,7 +3,7 @@ # Usage: ./spack_cache_start.sh; podman build --network=host --shm-size=1g -t spack_openmpi-psmp -f ./Dockerfile.test_spack_openmpi-psmp ../../ # -ARG BASE_IMAGE="ubuntu:24.04" +ARG BASE_IMAGE="ubuntu:26.04" ###### Stage 1: Build CP2K dependencies ###### @@ -13,7 +13,7 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ bzip2 \ ca-certificates \ cmake \ - g++ g++-13 gcc gcc-13 gfortran gfortran-13 \ + g++ g++-14 gcc gcc-14 gfortran gfortran-14 \ git \ gnupg \ libssh-dev \ @@ -32,6 +32,8 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ wget \ xxd \ xz-utils \ + zlib1g \ + zlib1g-dev \ zstd \ && rm -rf /var/lib/apt/lists/* @@ -47,20 +49,20 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 13 -mpi openmpi -ue -ef openpmd +RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 14 -mpi openmpi -ef openpmd ###### Stage 2: Build CP2K ###### FROM build_deps AS build_cp2k -RUN ./make_cp2k.sh -cv psmp -gv 13 -gpu none -mpi openmpi -ef openpmd +RUN ./make_cp2k.sh -cv psmp -gv 14 -gpu none -mpi openmpi -ef openpmd ###### Stage 3: Install CP2K ###### FROM "${BASE_IMAGE}" AS install_cp2k RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ - g++ g++-13 gcc gcc-13 gfortran gfortran-13 \ + g++ g++-14 gcc gcc-14 gfortran gfortran-14 \ python3 \ && rm -rf /var/lib/apt/lists/* diff --git a/tools/docker/Dockerfile.test_spack_pdbg b/tools/docker/Dockerfile.test_spack_pdbg index dd6b39544d..3a53fc42db 100644 --- a/tools/docker/Dockerfile.test_spack_pdbg +++ b/tools/docker/Dockerfile.test_spack_pdbg @@ -3,7 +3,7 @@ # Usage: ./spack_cache_start.sh; podman build --network=host --shm-size=1g -t spack_pdbg -f ./Dockerfile.test_spack_pdbg ../../ # -ARG BASE_IMAGE="ubuntu:24.04" +ARG BASE_IMAGE="ubuntu:26.04" ###### Stage 1: Build CP2K dependencies ###### @@ -13,7 +13,7 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ bzip2 \ ca-certificates \ cmake \ - g++ g++-13 gcc gcc-13 gfortran gfortran-13 \ + g++ g++-14 gcc gcc-14 gfortran gfortran-14 \ git \ gnupg \ libssh-dev \ @@ -32,6 +32,8 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ wget \ xxd \ xz-utils \ + zlib1g \ + zlib1g-dev \ zstd \ && rm -rf /var/lib/apt/lists/* @@ -47,20 +49,20 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv pdbg -gpu none -gv 13 -mpi mpich -ue -ef openpmd +RUN ./make_cp2k.sh -bd_only -cv pdbg -gpu none -gv 14 -mpi mpich -ue -ef openpmd ###### Stage 2: Build CP2K ###### FROM build_deps AS build_cp2k -RUN ./make_cp2k.sh -cv pdbg -gv 13 -gpu none -mpi mpich -ef openpmd +RUN ./make_cp2k.sh -cv pdbg -gv 14 -gpu none -mpi mpich -ef openpmd ###### Stage 3: Install CP2K ###### FROM "${BASE_IMAGE}" AS install_cp2k RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ - g++ g++-13 gcc gcc-13 gfortran gfortran-13 \ + g++ g++-14 gcc gcc-14 gfortran gfortran-14 \ python3 \ && rm -rf /var/lib/apt/lists/* diff --git a/tools/docker/Dockerfile.test_spack_psmp b/tools/docker/Dockerfile.test_spack_psmp index 32ccabf269..180fd90ce4 100644 --- a/tools/docker/Dockerfile.test_spack_psmp +++ b/tools/docker/Dockerfile.test_spack_psmp @@ -3,7 +3,7 @@ # Usage: ./spack_cache_start.sh; podman build --network=host --shm-size=1g -t spack_psmp -f ./Dockerfile.test_spack_psmp ../../ # -ARG BASE_IMAGE="ubuntu:24.04" +ARG BASE_IMAGE="ubuntu:26.04" ###### Stage 1: Build CP2K dependencies ###### @@ -13,7 +13,7 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ bzip2 \ ca-certificates \ cmake \ - g++ g++-13 gcc gcc-13 gfortran gfortran-13 \ + g++ g++-14 gcc gcc-14 gfortran gfortran-14 \ git \ gnupg \ libssh-dev \ @@ -32,6 +32,8 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ wget \ xxd \ xz-utils \ + zlib1g \ + zlib1g-dev \ zstd \ && rm -rf /var/lib/apt/lists/* @@ -47,20 +49,20 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 13 -mpi mpich -ue -ef openpmd +RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 14 -mpi mpich -ue -ef openpmd ###### Stage 2: Build CP2K ###### FROM build_deps AS build_cp2k -RUN ./make_cp2k.sh -cv psmp -gv 13 -gpu none -mpi mpich -ef openpmd +RUN ./make_cp2k.sh -cv psmp -gv 14 -gpu none -mpi mpich -ef openpmd ###### Stage 3: Install CP2K ###### FROM "${BASE_IMAGE}" AS install_cp2k RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ - g++ g++-13 gcc gcc-13 gfortran gfortran-13 \ + g++ g++-14 gcc gcc-14 gfortran gfortran-14 \ python3 \ && rm -rf /var/lib/apt/lists/* diff --git a/tools/docker/Dockerfile.test_spack_psmp-4x2 b/tools/docker/Dockerfile.test_spack_psmp-4x2 index 8c34fc8fb7..5e9478c6ff 100644 --- a/tools/docker/Dockerfile.test_spack_psmp-4x2 +++ b/tools/docker/Dockerfile.test_spack_psmp-4x2 @@ -3,7 +3,7 @@ # Usage: ./spack_cache_start.sh; podman build --network=host --shm-size=1g -t spack_psmp-4x2 -f ./Dockerfile.test_spack_psmp-4x2 ../../ # -ARG BASE_IMAGE="ubuntu:24.04" +ARG BASE_IMAGE="ubuntu:26.04" ###### Stage 1: Build CP2K dependencies ###### @@ -13,7 +13,7 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ bzip2 \ ca-certificates \ cmake \ - g++ g++-13 gcc gcc-13 gfortran gfortran-13 \ + g++ g++-14 gcc gcc-14 gfortran gfortran-14 \ git \ gnupg \ libssh-dev \ @@ -32,6 +32,8 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ wget \ xxd \ xz-utils \ + zlib1g \ + zlib1g-dev \ zstd \ && rm -rf /var/lib/apt/lists/* @@ -47,20 +49,20 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 13 -mpi mpich -ue -ef openpmd +RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 14 -mpi mpich -ue -ef openpmd ###### Stage 2: Build CP2K ###### FROM build_deps AS build_cp2k -RUN ./make_cp2k.sh -cv psmp -gv 13 -gpu none -mpi mpich -ef openpmd +RUN ./make_cp2k.sh -cv psmp -gv 14 -gpu none -mpi mpich -ef openpmd ###### Stage 3: Install CP2K ###### FROM "${BASE_IMAGE}" AS install_cp2k RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ - g++ g++-13 gcc gcc-13 gfortran gfortran-13 \ + g++ g++-14 gcc gcc-14 gfortran gfortran-14 \ python3 \ && rm -rf /var/lib/apt/lists/* diff --git a/tools/docker/Dockerfile.test_spack_psmp-P100 b/tools/docker/Dockerfile.test_spack_psmp-P100 index be225e9737..762b0a1439 100644 --- a/tools/docker/Dockerfile.test_spack_psmp-P100 +++ b/tools/docker/Dockerfile.test_spack_psmp-P100 @@ -32,6 +32,8 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ wget \ xxd \ xz-utils \ + zlib1g \ + zlib1g-dev \ zstd \ && rm -rf /var/lib/apt/lists/* diff --git a/tools/docker/Dockerfile.test_spack_psmp-gcc10 b/tools/docker/Dockerfile.test_spack_psmp-gcc10 index 241e0246bb..622a355991 100644 --- a/tools/docker/Dockerfile.test_spack_psmp-gcc10 +++ b/tools/docker/Dockerfile.test_spack_psmp-gcc10 @@ -32,6 +32,8 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ wget \ xxd \ xz-utils \ + zlib1g \ + zlib1g-dev \ zstd \ && rm -rf /var/lib/apt/lists/* diff --git a/tools/docker/Dockerfile.test_spack_psmp-gcc11 b/tools/docker/Dockerfile.test_spack_psmp-gcc11 index ce18eeb9a2..c79cccad24 100644 --- a/tools/docker/Dockerfile.test_spack_psmp-gcc11 +++ b/tools/docker/Dockerfile.test_spack_psmp-gcc11 @@ -32,6 +32,8 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ wget \ xxd \ xz-utils \ + zlib1g \ + zlib1g-dev \ zstd \ && rm -rf /var/lib/apt/lists/* diff --git a/tools/docker/Dockerfile.test_spack_psmp-gcc12 b/tools/docker/Dockerfile.test_spack_psmp-gcc12 index d97f2cc0ab..2b3eed6210 100644 --- a/tools/docker/Dockerfile.test_spack_psmp-gcc12 +++ b/tools/docker/Dockerfile.test_spack_psmp-gcc12 @@ -32,6 +32,8 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ wget \ xxd \ xz-utils \ + zlib1g \ + zlib1g-dev \ zstd \ && rm -rf /var/lib/apt/lists/* diff --git a/tools/docker/Dockerfile.test_spack_psmp-gcc14 b/tools/docker/Dockerfile.test_spack_psmp-gcc14 index e4b9245165..42b1d10ca4 100644 --- a/tools/docker/Dockerfile.test_spack_psmp-gcc14 +++ b/tools/docker/Dockerfile.test_spack_psmp-gcc14 @@ -3,7 +3,7 @@ # Usage: ./spack_cache_start.sh; podman build --network=host --shm-size=1g -t spack_psmp-gcc14 -f ./Dockerfile.test_spack_psmp-gcc14 ../../ # -ARG BASE_IMAGE="ubuntu:24.04" +ARG BASE_IMAGE="ubuntu:26.04" ###### Stage 1: Build CP2K dependencies ###### @@ -32,6 +32,8 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ wget \ xxd \ xz-utils \ + zlib1g \ + zlib1g-dev \ zstd \ && rm -rf /var/lib/apt/lists/* diff --git a/tools/docker/Dockerfile.test_spack_psmp-gcc15 b/tools/docker/Dockerfile.test_spack_psmp-gcc15 index 00ce12474c..82ea79a5b1 100644 --- a/tools/docker/Dockerfile.test_spack_psmp-gcc15 +++ b/tools/docker/Dockerfile.test_spack_psmp-gcc15 @@ -13,7 +13,7 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ bzip2 \ ca-certificates \ cmake \ - g++ gcc gfortran \ + g++ g++-15 gcc gcc-15 gfortran gfortran-15 \ git \ gnupg \ libssh-dev \ @@ -32,6 +32,8 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ wget \ xxd \ xz-utils \ + zlib1g \ + zlib1g-dev \ zstd \ && rm -rf /var/lib/apt/lists/* @@ -60,7 +62,7 @@ RUN ./make_cp2k.sh -cv psmp -gv 15 -gpu none -mpi mpich -ef openpmd FROM "${BASE_IMAGE}" AS install_cp2k RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ - g++ gcc gfortran \ + g++ g++-15 gcc gcc-15 gfortran gfortran-15 \ python3 \ && rm -rf /var/lib/apt/lists/* diff --git a/tools/docker/Dockerfile.test_spack_sdbg b/tools/docker/Dockerfile.test_spack_sdbg index eac958921a..d34a7af4ab 100644 --- a/tools/docker/Dockerfile.test_spack_sdbg +++ b/tools/docker/Dockerfile.test_spack_sdbg @@ -3,7 +3,7 @@ # Usage: ./spack_cache_start.sh; podman build --network=host --shm-size=1g -t spack_sdbg -f ./Dockerfile.test_spack_sdbg ../../ # -ARG BASE_IMAGE="ubuntu:24.04" +ARG BASE_IMAGE="ubuntu:26.04" ###### Stage 1: Build CP2K dependencies ###### @@ -13,7 +13,7 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ bzip2 \ ca-certificates \ cmake \ - g++ g++-13 gcc gcc-13 gfortran gfortran-13 \ + g++ g++-14 gcc gcc-14 gfortran gfortran-14 \ git \ gnupg \ libssh-dev \ @@ -32,6 +32,8 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ wget \ xxd \ xz-utils \ + zlib1g \ + zlib1g-dev \ zstd \ && rm -rf /var/lib/apt/lists/* @@ -47,20 +49,20 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv sdbg -gpu none -gv 13 -mpi no -ue +RUN ./make_cp2k.sh -bd_only -cv sdbg -gpu none -gv 14 -mpi no -ue ###### Stage 2: Build CP2K ###### FROM build_deps AS build_cp2k -RUN ./make_cp2k.sh -cv sdbg -gv 13 -gpu none -mpi no +RUN ./make_cp2k.sh -cv sdbg -gv 14 -gpu none -mpi no ###### Stage 3: Install CP2K ###### FROM "${BASE_IMAGE}" AS install_cp2k RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ - g++ g++-13 gcc gcc-13 gfortran gfortran-13 \ + g++ g++-14 gcc gcc-14 gfortran gfortran-14 \ python3 \ && rm -rf /var/lib/apt/lists/* diff --git a/tools/docker/Dockerfile.test_spack_ssmp b/tools/docker/Dockerfile.test_spack_ssmp index 1dc0dfc543..ab1d473f2d 100644 --- a/tools/docker/Dockerfile.test_spack_ssmp +++ b/tools/docker/Dockerfile.test_spack_ssmp @@ -3,7 +3,7 @@ # Usage: ./spack_cache_start.sh; podman build --network=host --shm-size=1g -t spack_ssmp -f ./Dockerfile.test_spack_ssmp ../../ # -ARG BASE_IMAGE="ubuntu:24.04" +ARG BASE_IMAGE="ubuntu:26.04" ###### Stage 1: Build CP2K dependencies ###### @@ -13,7 +13,7 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ bzip2 \ ca-certificates \ cmake \ - g++ g++-13 gcc gcc-13 gfortran gfortran-13 \ + g++ g++-14 gcc gcc-14 gfortran gfortran-14 \ git \ gnupg \ libssh-dev \ @@ -32,6 +32,8 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ wget \ xxd \ xz-utils \ + zlib1g \ + zlib1g-dev \ zstd \ && rm -rf /var/lib/apt/lists/* @@ -47,20 +49,20 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv ssmp -gpu none -gv 13 -mpi no -ue +RUN ./make_cp2k.sh -bd_only -cv ssmp -gpu none -gv 14 -mpi no -ue ###### Stage 2: Build CP2K ###### FROM build_deps AS build_cp2k -RUN ./make_cp2k.sh -cv ssmp -gv 13 -gpu none -mpi no +RUN ./make_cp2k.sh -cv ssmp -gv 14 -gpu none -mpi no ###### Stage 3: Install CP2K ###### FROM "${BASE_IMAGE}" AS install_cp2k RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ - g++ g++-13 gcc gcc-13 gfortran gfortran-13 \ + g++ g++-14 gcc gcc-14 gfortran gfortran-14 \ python3 \ && rm -rf /var/lib/apt/lists/* diff --git a/tools/docker/Dockerfile.test_spack_ssmp-P100 b/tools/docker/Dockerfile.test_spack_ssmp-P100 index 82048d4cf9..36ee786dc5 100644 --- a/tools/docker/Dockerfile.test_spack_ssmp-P100 +++ b/tools/docker/Dockerfile.test_spack_ssmp-P100 @@ -32,6 +32,8 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ wget \ xxd \ xz-utils \ + zlib1g \ + zlib1g-dev \ zstd \ && rm -rf /var/lib/apt/lists/* diff --git a/tools/docker/Dockerfile.test_spack_ssmp-static b/tools/docker/Dockerfile.test_spack_ssmp-static index 55e64d46c4..1c9e4e93f7 100644 --- a/tools/docker/Dockerfile.test_spack_ssmp-static +++ b/tools/docker/Dockerfile.test_spack_ssmp-static @@ -32,6 +32,8 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ wget \ xxd \ xz-utils \ + zlib1g \ + zlib1g-dev \ zstd \ && rm -rf /var/lib/apt/lists/* diff --git a/tools/docker/generate_dockerfiles.py b/tools/docker/generate_dockerfiles.py index 2e0c63f91f..7e1c9dba83 100755 --- a/tools/docker/generate_dockerfiles.py +++ b/tools/docker/generate_dockerfiles.py @@ -87,7 +87,7 @@ def main() -> None: with OutputFile( f"Dockerfile.test_spack_psmp-gcc{gcc_version}", args.check ) as f: - base_image = "ubuntu:26.04" if gcc_version > 14 else "ubuntu:24.04" + base_image = "ubuntu:26.04" if gcc_version > 12 else "ubuntu:24.04" f.write( install_cp2k_spack( version="psmp", @@ -212,6 +212,7 @@ def main() -> None: install_cp2k_spack( version="ssmp-static", mpi_mode="no", + base_image="ubuntu:24.04", gcc_version=14, testopts=testopts, image_tag=f.image_tag, @@ -713,15 +714,14 @@ RUN ./scripts/stage9/install_stage9.sh && rm -rf ./build def install_cp2k_spack( version: str, mpi_mode: str, - base_image: str = "ubuntu:24.04", - gcc_version: int = 13, + base_image: str = "ubuntu:26.04", + gcc_version: int = 14, gpu_model: str = "none", feature_flags: str = "", testopts: str = "", image_tag: str = "", ) -> str: - # Ubuntu 24.04 provides no gcc-15 package whereas GCC 15 is the default for fedora:43 - if gcc_version == 15 or "fedora" in base_image: + if "fedora" in base_image: gcc_compilers = "g++ gcc gfortran" elif "opensuse/leap" in base_image: gcc_compilers = f"gcc gcc{gcc_version} gcc-c++ gcc{gcc_version}-c++ gcc-fortran gcc{gcc_version}-fortran" @@ -729,6 +729,8 @@ def install_cp2k_spack( gcc_compilers = f"gcc gcc-c++ gcc-fortran" else: gcc_compilers = f"g++ g++-{gcc_version} gcc gcc-{gcc_version} gfortran gfortran-{gcc_version}" + # Use external packages if possible + use_externals = "-ue" # Static CP2K builds use the GCC compiler built with spack if version.endswith("-static"): use_externals = "" @@ -737,8 +739,8 @@ def install_cp2k_spack( # of the host system and ignoring all externals at the same # time is not supported gcc_compilers = "g++ gcc gfortran" - else: - use_externals = "-ue" + if mpi_mode == "openmpi": + use_externals = "" # Assemble docker file output = ( install_base_image( @@ -908,6 +910,8 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ wget \ xxd \ xz-utils \ + zlib1g \ + zlib1g-dev \ zstd \ && rm -rf /var/lib/apt/lists/* """