diff --git a/util/dockerfiles/clang-compiler/Dockerfile b/util/dockerfiles/clang-compiler/Dockerfile new file mode 100644 index 0000000000..17718e9fb6 --- /dev/null +++ b/util/dockerfiles/clang-compiler/Dockerfile @@ -0,0 +1,14 @@ +FROM --platform=${BUILDPLATFORM} ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest + +ARG version=16 # Version of Clang to install in this image. Default is 16. + +RUN apt -y update && \ + apt -y install clang-${version} && \ + update-alternatives --install \ + /usr/bin/clang++ clang++ /usr/bin/clang++-${version} 100 && \ + update-alternatives --install \ + /usr/bin/clang clang /usr/bin/clang-${version} 100 && \ + update-alternatives --install \ + /usr/bin/c++ c++ /usr/bin/clang++-${version} 100 && \ + update-alternatives --install \ + /usr/bin/cc cc /usr/bin/clang-${version} 100 diff --git a/util/dockerfiles/docker-bake.hcl b/util/dockerfiles/docker-bake.hcl index ac3a0e85a5..7edcd8d447 100644 --- a/util/dockerfiles/docker-bake.hcl +++ b/util/dockerfiles/docker-bake.hcl @@ -35,6 +35,13 @@ variable "TAG" { default = "bootcamp-2024" } +# Common attributes across all targets. Note: these can be overwritten. +target "common" { + # Here we are enabling multi-platform builds. We are compiling to both ARM + # amd X86. + platforms = ["linux/amd64", "linux/arm64", "linux/riscv64"] +} + # A group of targets to be built. Note: groups can contain other groups. # Any target or group can be build individually. I.e.: # `docker buildx bake --push ubuntu-20-04_all-dependencies` or @@ -42,8 +49,8 @@ variable "TAG" { group "default" { targets=[ "clang-compilers", - "ubuntu-releases", "gcc-compilers", + "ubuntu-releases", "gcn-gpu", "gpu-fs", "sst", @@ -51,6 +58,115 @@ group "default" { ] } +group "clang-compilers" { + targets = [ + "clang-version-14", + "clang-version-15", + "clang-version-16", + "clang-version-17", + "clang-version-18" + ] +} + +target "clang-version-14" { + inherits = ["common"] + dockerfile = "Dockerfile" + args = { + version = "14" + } + context = "clang-compiler" + tags = ["${IMAGE_URI}/clang-version-14:${TAG}"] +} + +target "clang-version-15" { + inherits = ["common"] + dockerfile = "Dockerfile" + args = { + version = "15" + } + context = "clang-compiler" + tags = ["${IMAGE_URI}/clang-version-15:${TAG}"] +} + +target "clang-version-16" { + inherits = ["common"] + dockerfile = "Dockerfile" + args = { + version = "16" + } + context = "clang-compiler" + tags = ["${IMAGE_URI}/clang-version-16:${TAG}"] +} + +target "clang-version-17" { + inherits = ["common"] + dockerfile = "Dockerfile" + args = { + version = "17" + } + context = "clang-compiler" + tags = ["${IMAGE_URI}/clang-version-17:${TAG}"] +} + +target "clang-version-18" { + inherits = ["common"] + dockerfile = "Dockerfile" + args = { + version = "18" + } + context = "clang-compiler" + tags = ["${IMAGE_URI}/clang-version-18:${TAG}"] +} + +group "gcc-compilers" { + targets = [ + "gcc-version-10", + "gcc-version-11", + "gcc-version-12", + "gcc-version-13" + ] +} + +target "gcc-version-10" { + inherits = ["common"] + dockerfile = "Dockerfile" + args = { + version = "10" + } + context = "gcc-compiler" + tags = ["${IMAGE_URI}/gcc-version-10:${TAG}"] +} + +target "gcc-version-11" { + inherits = ["common"] + dockerfile = "Dockerfile" + args = { + version = "11" + } + context = "gcc-compiler" + tags = ["${IMAGE_URI}/gcc-version-11:${TAG}"] +} + +target "gcc-version-12" { + inherits = ["common"] + dockerfile = "Dockerfile" + args = { + version = "12" + } + context = "gcc-compiler" + tags = ["${IMAGE_URI}/gcc-version-12:${TAG}"] +} + +target "gcc-version-13" { + inherits = ["common"] + dockerfile = "Dockerfile" + args = { + version = "13" + } + context = "gcc-compiler" + tags = ["${IMAGE_URI}/gcc-version-13:${TAG}"] +} + group "ubuntu-releases" { targets=[ "ubuntu-24-04_all-dependencies", @@ -60,25 +176,6 @@ group "ubuntu-releases" { ] } -group "clang-compilers" { - targets = [ - "clang-compilers-base-20-04", - "clang-compilers-base-22-04", - "clang-compilers-16" - ] -} - -group "gcc-compilers" { - targets = ["gcc-compilers-base-20-04", "gcc-compilers-base-22-04"] -} - -# Common attributes across all targets. Note: these can be overwritten. -target "common" { - # Here we are enabling multi-platform builds. We are compiling to both ARM - # amd X86. - platforms = ["linux/amd64", "linux/arm64", "linux/riscv64"] -} - target "gcn-gpu" { inherits = ["common"] dockerfile = "Dockerfile" @@ -141,67 +238,4 @@ target "ubuntu-24-04_min-dependencies" { dockerfile = "Dockerfile" context = "ubuntu-24.04_min-dependencies" tags = ["${IMAGE_URI}/ubuntu-24.04_min-dependencies:${TAG}"] -} - -target "gcc-compilers-base-20-04" { - name = "gcc-compilers-${replace(ver, ".", "-")}" - inherits = ["common"] - context = "ubuntu-20.04_gcc-version" - dockerfile = "Dockerfile" - matrix = { - ver = ["10"] - } - args = { - version = ver - } - tags = ["${IMAGE_URI}/gcc-version-${ver}:${TAG}"] -} - -target "gcc-compilers-base-22-04" { - name = "gcc-compilers-${replace(ver, ".", "-")}" - inherits = ["common"] - context = "ubuntu-22.04_gcc-version" - dockerfile = "Dockerfile" - matrix = { - ver = ["11", "12", "13'"] - } - args = { - version = ver - } - tags = ["${IMAGE_URI}/gcc-version-${ver}:${TAG}"] -} - -target "clang-compilers-base-20-04" { - name = "clang-compilers-${replace(ver, ".", "-")}" - inherits = ["common"] - context = "ubuntu-20.04_clang-version" - dockerfile = "Dockerfile" - matrix = { - ver = ["10", "11", "12"] - } - args = { - version = ver - } - tags = ["${IMAGE_URI}/clang-version-${ver}:${TAG}"] -} - -target "clang-compilers-base-22-04" { - name = "clang-compilers-${replace(ver, ".", "-")}" - inherits = ["common"] - context = "ubuntu-22.04_clang-version" - dockerfile = "Dockerfile" - matrix = { - ver = ["13", "14", "15"] - } - args = { - version = ver - } - tags = ["${IMAGE_URI}/clang-version-${ver}:${TAG}"] -} - -target "clang-compilers-16" { - inherits = ["common"] - dockerfile = "Dockerfile" - context = "ubuntu-22.04_clang_16" - tags = ["${IMAGE_URI}/clang-version-16:${TAG}"] -} +} \ No newline at end of file diff --git a/util/dockerfiles/gcc-compiler/Dockerfile b/util/dockerfiles/gcc-compiler/Dockerfile new file mode 100644 index 0000000000..797a5d7090 --- /dev/null +++ b/util/dockerfiles/gcc-compiler/Dockerfile @@ -0,0 +1,14 @@ +FROM --platform=${BUILDPLATFORM} ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest + +ARG version=13 # Version of GCC to install in this image. Default is 13. + +RUN apt -y update && \ + apt -y install gcc-${version} g++-${version} && \ + update-alternatives --install \ + /usr/bin/g++ g++ /usr/bin/g++-${version} 100 && \ + update-alternatives --install \ + /usr/bin/gcc gcc /usr/bin/gcc-${version} 100 && \ + update-alternatives --install \ + /usr/bin/c++ c++ /usr/bin/g++-${version} 100 && \ + update-alternatives --install \ + /usr/bin/cc cc /usr/bin/gcc-${version} 100 diff --git a/util/dockerfiles/ubuntu-20.04_clang-version/Dockerfile b/util/dockerfiles/ubuntu-20.04_clang-version/Dockerfile deleted file mode 100644 index 2ea9413c7d..0000000000 --- a/util/dockerfiles/ubuntu-20.04_clang-version/Dockerfile +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright (c) 2021 The Regents of the University of California -# All Rights Reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer; -# redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution; -# neither the name of the copyright holders nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -FROM --platform=${BUILDPLATFORM} ubuntu:20.04 - -# Valid version values: -# 6.0 -# 7 -# 8 -# 9 -# 10 -# 11 -# 12 -ARG version - -ENV DEBIAN_FRONTEND=noninteractive -RUN apt -y update && apt -y upgrade && \ - apt -y install git m4 scons zlib1g zlib1g-dev libprotobuf-dev \ - protobuf-compiler libprotoc-dev libgoogle-perftools-dev python3-dev \ - python-is-python3 doxygen libboost-all-dev libhdf5-serial-dev \ - python3-pydot libpng-dev clang-${version} make \ - # This is needed as clang-8 does not have the libstdc++-10-dev package. - # It is necessary for compilation. - libstdc++-10-dev - -RUN apt-get --purge -y remove gcc - -RUN update-alternatives --install \ - /usr/bin/clang++ clang++ /usr/bin/clang++-${version} 100 -RUN update-alternatives --install \ - /usr/bin/clang clang /usr/bin/clang-${version} 100 -RUN update-alternatives --install \ - /usr/bin/c++ c++ /usr/bin/clang++-${version} 100 -RUN update-alternatives --install \ - /usr/bin/cc cc /usr/bin/clang-${version} 100 diff --git a/util/dockerfiles/ubuntu-20.04_gcc-version/Dockerfile b/util/dockerfiles/ubuntu-20.04_gcc-version/Dockerfile deleted file mode 100644 index 7841635aef..0000000000 --- a/util/dockerfiles/ubuntu-20.04_gcc-version/Dockerfile +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright (c) 2020 The Regents of the University of California -# All Rights Reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer; -# redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution; -# neither the name of the copyright holders nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -FROM --platform=${BUILDPLATFORM} ubuntu:20.04 - -# Valid version values: -# 7 -# 8 -# 9 # Not supported. See: https://github.com/gem5/gem5/issues/555. -# 10 -ARG version - -ENV DEBIAN_FRONTEND=noninteractive -RUN apt -y update && apt -y upgrade && \ - apt -y install git m4 scons zlib1g zlib1g-dev libprotobuf-dev \ - protobuf-compiler libprotoc-dev libgoogle-perftools-dev python3-dev \ - python-is-python3 doxygen libboost-all-dev libhdf5-serial-dev \ - python3-pydot libpng-dev gcc-${version} g++-${version} make - -RUN update-alternatives --install \ - /usr/bin/g++ g++ /usr/bin/g++-${version} 100 -RUN update-alternatives --install \ - /usr/bin/gcc gcc /usr/bin/gcc-${version} 100 -RUN update-alternatives --install \ - /usr/bin/c++ c++ /usr/bin/g++-${version} 100 -RUN update-alternatives --install \ - /usr/bin/cc cc /usr/bin/gcc-${version} 100 diff --git a/util/dockerfiles/ubuntu-22.04_clang-16/Dockerfile b/util/dockerfiles/ubuntu-22.04_clang-16/Dockerfile deleted file mode 100644 index 045efbd13a..0000000000 --- a/util/dockerfiles/ubuntu-22.04_clang-16/Dockerfile +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright (c) 2023 The Regents of the University of California -# All Rights Reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer; -# redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution; -# neither the name of the copyright holders nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -FROM --platform=${BUILDPLATFORM} ubuntu:22.04 - - -ENV DEBIAN_FRONTEND=noninteractive -RUN apt -y update && apt -y upgrade && \ - apt -y install git m4 scons zlib1g zlib1g-dev libprotobuf-dev \ - protobuf-compiler libprotoc-dev libgoogle-perftools-dev python3-dev \ - python-is-python3 doxygen libboost-all-dev libhdf5-serial-dev \ - python3-pydot libpng-dev make lsb-release wget \ - software-properties-common gnupg - -COPY llvm.sh /llvm.sh -RUN ./llvm.sh 16 - -RUN apt-get --purge -y remove gcc - -RUN update-alternatives --install \ - /usr/bin/clang++ clang++ /usr/bin/clang++-16 100 -RUN update-alternatives --install \ - /usr/bin/clang clang /usr/bin/clang-16 100 -RUN update-alternatives --install \ - /usr/bin/c++ c++ /usr/bin/clang++-16 100 -RUN update-alternatives --install \ - /usr/bin/cc cc /usr/bin/clang-16 100 diff --git a/util/dockerfiles/ubuntu-22.04_clang-16/llvm.sh b/util/dockerfiles/ubuntu-22.04_clang-16/llvm.sh deleted file mode 100755 index 200c0390fe..0000000000 --- a/util/dockerfiles/ubuntu-22.04_clang-16/llvm.sh +++ /dev/null @@ -1,176 +0,0 @@ -#!/bin/bash -################################################################################ -# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -# See https://llvm.org/LICENSE.txt for license information. -# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -################################################################################ -# -# This script will install the llvm toolchain on the different -# Debian and Ubuntu versions - -set -eux - -usage() { - set +x - echo "Usage: $0 [llvm_major_version] [all] [OPTIONS]" 1>&2 - echo -e "all\t\t\tInstall all packages." 1>&2 - echo -e "-n=code_name\t\tSpecifies the distro codename, for example bionic" 1>&2 - echo -e "-h\t\t\tPrints this help." 1>&2 - echo -e "-m=repo_base_url\tSpecifies the base URL from which to download." 1>&2 - exit 1; -} - -CURRENT_LLVM_STABLE=17 -BASE_URL="http://apt.llvm.org" - -# Check for required tools -needed_binaries=(lsb_release wget add-apt-repository gpg) -missing_binaries=() -for binary in "${needed_binaries[@]}"; do - if ! which $binary &>/dev/null ; then - missing_binaries+=($binary) - fi -done -if [[ ${#missing_binaries[@]} -gt 0 ]] ; then - echo "You are missing some tools this script requires: ${missing_binaries[@]}" - echo "(hint: apt install lsb-release wget software-properties-common gnupg)" - exit 4 -fi - -# Set default values for commandline arguments -# We default to the current stable branch of LLVM -LLVM_VERSION=$CURRENT_LLVM_STABLE -ALL=0 -DISTRO=$(lsb_release -is) -VERSION=$(lsb_release -sr) -UBUNTU_CODENAME="" -CODENAME_FROM_ARGUMENTS="" -# Obtain VERSION_CODENAME and UBUNTU_CODENAME (for Ubuntu and its derivatives) -source /etc/os-release -DISTRO=${DISTRO,,} -case ${DISTRO} in - debian) - # Debian Trixie has a workaround because of - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1038383 - if [[ "${VERSION}" == "unstable" ]] || [[ "${VERSION}" == "testing" ]] || [[ "${VERSION_CODENAME}" == "trixie" ]]; then - CODENAME=unstable - LINKNAME= - else - # "stable" Debian release - CODENAME=${VERSION_CODENAME} - LINKNAME=-${CODENAME} - fi - ;; - *) - # ubuntu and its derivatives - if [[ -n "${UBUNTU_CODENAME}" ]]; then - CODENAME=${UBUNTU_CODENAME} - if [[ -n "${CODENAME}" ]]; then - LINKNAME=-${CODENAME} - fi - fi - ;; -esac - -# read optional command line arguments -if [ "$#" -ge 1 ] && [ "${1::1}" != "-" ]; then - if [ "$1" != "all" ]; then - LLVM_VERSION=$1 - else - # special case for ./llvm.sh all - ALL=1 - fi - OPTIND=2 - if [ "$#" -ge 2 ]; then - if [ "$2" == "all" ]; then - # Install all packages - ALL=1 - OPTIND=3 - fi - fi -fi - -while getopts ":hm:n:" arg; do - case $arg in - h) - usage - ;; - m) - BASE_URL=${OPTARG} - ;; - n) - CODENAME=${OPTARG} - if [[ "${CODENAME}" == "unstable" ]]; then - # link name does not apply to unstable repository - LINKNAME= - else - LINKNAME=-${CODENAME} - fi - CODENAME_FROM_ARGUMENTS="true" - ;; - esac -done - -if [[ $EUID -ne 0 ]]; then - echo "This script must be run as root!" - exit 1 -fi - -declare -A LLVM_VERSION_PATTERNS -LLVM_VERSION_PATTERNS[9]="-9" -LLVM_VERSION_PATTERNS[10]="-10" -LLVM_VERSION_PATTERNS[11]="-11" -LLVM_VERSION_PATTERNS[12]="-12" -LLVM_VERSION_PATTERNS[13]="-13" -LLVM_VERSION_PATTERNS[14]="-14" -LLVM_VERSION_PATTERNS[15]="-15" -LLVM_VERSION_PATTERNS[16]="-16" -LLVM_VERSION_PATTERNS[17]="-17" -LLVM_VERSION_PATTERNS[18]="" - -if [ ! ${LLVM_VERSION_PATTERNS[$LLVM_VERSION]+_} ]; then - echo "This script does not support LLVM version $LLVM_VERSION" - exit 3 -fi - -LLVM_VERSION_STRING=${LLVM_VERSION_PATTERNS[$LLVM_VERSION]} - -# join the repository name -if [[ -n "${CODENAME}" ]]; then - REPO_NAME="deb ${BASE_URL}/${CODENAME}/ llvm-toolchain${LINKNAME}${LLVM_VERSION_STRING} main" - - # check if the repository exists for the distro and version - if ! wget -q --method=HEAD ${BASE_URL}/${CODENAME} &> /dev/null; then - if [[ -n "${CODENAME_FROM_ARGUMENTS}" ]]; then - echo "Specified codename '${CODENAME}' is not supported by this script." - else - echo "Distribution '${DISTRO}' in version '${VERSION}' is not supported by this script." - fi - exit 2 - fi -fi - - -# install everything - -if [[ ! -f /etc/apt/trusted.gpg.d/apt.llvm.org.asc ]]; then - # download GPG key once - wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc -fi - -if [[ -z "`apt-key list 2> /dev/null | grep -i llvm`" ]]; then - # Delete the key in the old format - apt-key del AF4F7421 -fi -add-apt-repository "${REPO_NAME}" -apt-get update -PKG="clang-$LLVM_VERSION lldb-$LLVM_VERSION lld-$LLVM_VERSION clangd-$LLVM_VERSION" -if [[ $ALL -eq 1 ]]; then - # same as in test-install.sh - # No worries if we have dups - PKG="$PKG clang-tidy-$LLVM_VERSION clang-format-$LLVM_VERSION clang-tools-$LLVM_VERSION llvm-$LLVM_VERSION-dev lld-$LLVM_VERSION lldb-$LLVM_VERSION llvm-$LLVM_VERSION-tools libomp-$LLVM_VERSION-dev libc++-$LLVM_VERSION-dev libc++abi-$LLVM_VERSION-dev libclang-common-$LLVM_VERSION-dev libclang-$LLVM_VERSION-dev libclang-cpp$LLVM_VERSION-dev libunwind-$LLVM_VERSION-dev" - if test $LLVM_VERSION -gt 14; then - PKG="$PKG libclang-rt-$LLVM_VERSION-dev libpolly-$LLVM_VERSION-dev" - fi -fi -apt-get install -y $PKG diff --git a/util/dockerfiles/ubuntu-22.04_clang-version/Dockerfile b/util/dockerfiles/ubuntu-22.04_clang-version/Dockerfile deleted file mode 100644 index 7ddf7fe825..0000000000 --- a/util/dockerfiles/ubuntu-22.04_clang-version/Dockerfile +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright (c) 2022 The Regents of the University of California -# All Rights Reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer; -# redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution; -# neither the name of the copyright holders nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -FROM --platform=${BUILDPLATFORM} ubuntu:22.04 - -# Valid version values: -# 13 -# 15 -ARG version - -ENV DEBIAN_FRONTEND=noninteractive -RUN apt -y update && apt -y upgrade && \ - apt -y install git m4 scons zlib1g zlib1g-dev libprotobuf-dev \ - protobuf-compiler libprotoc-dev libgoogle-perftools-dev python3-dev \ - python-is-python3 doxygen libboost-all-dev libhdf5-serial-dev \ - python3-pydot libpng-dev clang-${version} make - -RUN apt-get --purge -y remove gcc - -RUN update-alternatives --install \ - /usr/bin/clang++ clang++ /usr/bin/clang++-${version} 100 -RUN update-alternatives --install \ - /usr/bin/clang clang /usr/bin/clang-${version} 100 -RUN update-alternatives --install \ - /usr/bin/c++ c++ /usr/bin/clang++-${version} 100 -RUN update-alternatives --install \ - /usr/bin/cc cc /usr/bin/clang-${version} 100 diff --git a/util/dockerfiles/ubuntu-22.04_gcc-version/Dockerfile b/util/dockerfiles/ubuntu-22.04_gcc-version/Dockerfile deleted file mode 100644 index feac348780..0000000000 --- a/util/dockerfiles/ubuntu-22.04_gcc-version/Dockerfile +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright (c) 2022 The Regents of the University of California -# All Rights Reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer; -# redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution; -# neither the name of the copyright holders nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -FROM --platform=${BUILDPLATFORM} ubuntu:22.04 - -# Valid version values: -# 11 -# 12 - -ARG version - -ENV DEBIAN_FRONTEND=noninteractive -RUN apt -y update && apt -y upgrade && \ - apt -y install git m4 scons zlib1g zlib1g-dev libprotobuf-dev \ - protobuf-compiler libprotoc-dev libgoogle-perftools-dev python3-dev \ - doxygen libboost-all-dev libhdf5-serial-dev python3-pydot libpng-dev \ - gcc-${version} g++-${version} make - -RUN update-alternatives --install \ - /usr/bin/g++ g++ /usr/bin/g++-${version} 100 -RUN update-alternatives --install \ - /usr/bin/gcc gcc /usr/bin/gcc-${version} 100 -RUN update-alternatives --install \ - /usr/bin/c++ c++ /usr/bin/g++-${version} 100 -RUN update-alternatives --install \ - /usr/bin/cc cc /usr/bin/gcc-${version} 100 diff --git a/util/dockerfiles/ubuntu-22.04_gcc_13-version/Dockerfile b/util/dockerfiles/ubuntu-22.04_gcc_13-version/Dockerfile deleted file mode 100644 index 157cf4f9ba..0000000000 --- a/util/dockerfiles/ubuntu-22.04_gcc_13-version/Dockerfile +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright (c) 2024 The Regents of the University of California -# All Rights Reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer; -# redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution; -# neither the name of the copyright holders nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -FROM --platform=${BUILDPLATFORM} ubuntu:22.04 - -# Valid version values: -# 13 - -ENV DEBIAN_FRONTEND=noninteractive -RUN apt -y update && \ - # software-properties-common is necessary to install - # to add PPA to the system - apt -y install software-properties-common && \ - # Installing PPA is necessary to install gcc-13 - # because it is not available in the default repositories - # for Ubuntu 22.04 - add-apt-repository ppa:ubuntu-toolchain-r/test -y && \ - apt -y update && \ - apt -y install git m4 scons zlib1g zlib1g-dev libprotobuf-dev \ - protobuf-compiler libprotoc-dev libgoogle-perftools-dev python3-dev \ - doxygen libboost-all-dev libhdf5-serial-dev python3-pydot libpng-dev \ - gcc-13 g++-13 make - -RUN update-alternatives --install \ - /usr/bin/g++ g++ /usr/bin/g++- 100 -RUN update-alternatives --install \ - /usr/bin/gcc gcc /usr/bin/gcc-13 100 -RUN update-alternatives --install \ - /usr/bin/c++ c++ /usr/bin/g++-13 100 -RUN update-alternatives --install \ - /usr/bin/cc cc /usr/bin/gcc-13 100