From 7a987ba187dbd543e8f43487b5eae004571f802f Mon Sep 17 00:00:00 2001 From: David Knapp Date: Tue, 19 Nov 2024 15:51:37 +0100 Subject: [PATCH 01/31] Upgrad the gcc and g++ to version 12 to support Cpp20 features --- dependencies/ubuntu/Dockerfile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index e56e2b8..66794f3 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -43,7 +43,10 @@ RUN apt-get update -y && apt-get upgrade -y; \ libocct-modeling-algorithms-dev\ libocct-modeling-data-dev \ # install NetCDF - libnetcdf-dev + libnetcdf-dev \ +# install gcc-12 for C++20 support + gcc-12 \ + g++-12 # clone vtk RUN git clone https://github.com/Kitware/VTK.git; \ From 7cb4aa4a3f5de54711288b73b171f0a17c224151 Mon Sep 17 00:00:00 2001 From: David Knapp Date: Tue, 19 Nov 2024 15:58:17 +0100 Subject: [PATCH 02/31] Get Compiler Version from argument --- dependencies/ubuntu/Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 66794f3..6e27ad1 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -10,6 +10,8 @@ ENV DEBIAN_FRONTEND noninteractive ENV LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH +ARG COMPILER_VERSION=12 + ####################################################### # Install software requirements and build tools # ####################################################### @@ -45,8 +47,8 @@ RUN apt-get update -y && apt-get upgrade -y; \ # install NetCDF libnetcdf-dev \ # install gcc-12 for C++20 support - gcc-12 \ - g++-12 + gcc-${COMPILER_VERSION} \ + g++-${COMPILER_VERSION} # clone vtk RUN git clone https://github.com/Kitware/VTK.git; \ From 3407ac83670c5fef2aff894670198d3b68427342 Mon Sep 17 00:00:00 2001 From: David Knapp Date: Tue, 19 Nov 2024 16:00:53 +0100 Subject: [PATCH 03/31] Make it work befor making it pretty --- dependencies/ubuntu/Dockerfile | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 6e27ad1..9bd7412 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -10,8 +10,6 @@ ENV DEBIAN_FRONTEND noninteractive ENV LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH -ARG COMPILER_VERSION=12 - ####################################################### # Install software requirements and build tools # ####################################################### @@ -47,8 +45,8 @@ RUN apt-get update -y && apt-get upgrade -y; \ # install NetCDF libnetcdf-dev \ # install gcc-12 for C++20 support - gcc-${COMPILER_VERSION} \ - g++-${COMPILER_VERSION} + gcc-12 \ + g++-12 # clone vtk RUN git clone https://github.com/Kitware/VTK.git; \ From b281659579f33b3c6823981c98d5af5aef9b1ca4 Mon Sep 17 00:00:00 2001 From: David Knapp Date: Tue, 19 Nov 2024 16:04:36 +0100 Subject: [PATCH 04/31] Add repository to find gcc and g++ versions --- dependencies/ubuntu/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 9bd7412..9735614 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -14,6 +14,7 @@ ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH # Install software requirements and build tools # ####################################################### +RUN add-apt-repository ppa:ubuntu-toolchain-r/test -y; RUN apt-get update -y && apt-get upgrade -y; \ # Prepare apt-get build-dep (https://askubuntu.com/questions/496549/error-you-must-put-some-source-uris-in-your-sources-list) cp /etc/apt/sources.list /etc/apt/sources.list~; \ From 20ecac9c4a35b87194258c51189c93fdab1fc76b Mon Sep 17 00:00:00 2001 From: David Knapp Date: Tue, 19 Nov 2024 16:10:09 +0100 Subject: [PATCH 05/31] Try to use Ubuntu 22.04 befor manually installing g++12 --- dependencies/ubuntu/Dockerfile | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 9735614..e959e5b 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -1,6 +1,6 @@ -FROM ubuntu:20.04 +FROM ubuntu:22.04 LABEL org.opencontainers.image.authors="Sandro Elsweijer " -LABEL Description="Ubuntu 20.04 with VTK, NetCDF and OpenCASCADE setup for use with t8code" +LABEL Description="Ubuntu 22.04 with VTK, NetCDF and OpenCASCADE setup for use with t8code" SHELL ["/bin/bash", "-c"] ARG vtk_version=9.1.0 @@ -14,7 +14,6 @@ ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH # Install software requirements and build tools # ####################################################### -RUN add-apt-repository ppa:ubuntu-toolchain-r/test -y; RUN apt-get update -y && apt-get upgrade -y; \ # Prepare apt-get build-dep (https://askubuntu.com/questions/496549/error-you-must-put-some-source-uris-in-your-sources-list) cp /etc/apt/sources.list /etc/apt/sources.list~; \ @@ -45,7 +44,6 @@ RUN apt-get update -y && apt-get upgrade -y; \ libocct-modeling-data-dev \ # install NetCDF libnetcdf-dev \ -# install gcc-12 for C++20 support gcc-12 \ g++-12 From e458b3490e4cd45ae568dbd43ab1f140cb78e82f Mon Sep 17 00:00:00 2001 From: David Knapp Date: Tue, 19 Nov 2024 16:41:56 +0100 Subject: [PATCH 06/31] Remove fi --- t8code/ubuntu/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/t8code/ubuntu/Dockerfile b/t8code/ubuntu/Dockerfile index 3017531..25e3358 100644 --- a/t8code/ubuntu/Dockerfile +++ b/t8code/ubuntu/Dockerfile @@ -30,6 +30,6 @@ cd t8code_build; \ LDFLAGS="-L/usr/lib/ -L/usr/local/lib" \ CPPFLAGS="-isystem/usr/include/opencascade -isystem/usr/include/vtk-${vtk_library_version}"; \ make -j4 V=0; \ -make install -j4; \ -fi +make install -j4; + From 5fad7556ad7dbbedd16bdd29094bc2b25cf4bb79 Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 12:10:56 +0100 Subject: [PATCH 07/31] manually install g++12 --- dependencies/ubuntu/Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index e959e5b..7d13cb5 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:22.04 +FROM ubuntu:20.04 LABEL org.opencontainers.image.authors="Sandro Elsweijer " LABEL Description="Ubuntu 22.04 with VTK, NetCDF and OpenCASCADE setup for use with t8code" SHELL ["/bin/bash", "-c"] @@ -18,7 +18,7 @@ RUN apt-get update -y && apt-get upgrade -y; \ # Prepare apt-get build-dep (https://askubuntu.com/questions/496549/error-you-must-put-some-source-uris-in-your-sources-list) cp /etc/apt/sources.list /etc/apt/sources.list~; \ sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list; \ - apt-get update; \ + apt-get update && apt install build-essential; \ # install compiler cmake and other useful stuff apt-get install -y sudo \ build-essential \ @@ -44,6 +44,7 @@ RUN apt-get update -y && apt-get upgrade -y; \ libocct-modeling-data-dev \ # install NetCDF libnetcdf-dev \ +# install gcc-12 and g++-12 gcc-12 \ g++-12 From fc780cea37ff7c70e2096225dda5f19a4bf52179 Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 12:26:14 +0100 Subject: [PATCH 08/31] Get gcc from repo --- dependencies/ubuntu/Dockerfile | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 7d13cb5..edc0ab6 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -44,9 +44,12 @@ RUN apt-get update -y && apt-get upgrade -y; \ libocct-modeling-data-dev \ # install NetCDF libnetcdf-dev \ -# install gcc-12 and g++-12 - gcc-12 \ - g++-12 +# install libraries for gcc-12 + libmpfrc++-dev \ + libmpc-dev \ + libgmp-dev \ + flex \ + gcc-multilib # clone vtk RUN git clone https://github.com/Kitware/VTK.git; \ @@ -65,3 +68,14 @@ RUN git clone https://github.com/Kitware/VTK.git; \ ninja install -j4; \ # cleanup cd ../.. && rm -rf VTK + +# install gcc-12 +RUN git clone https://gcc.gnu.org/git/gcc.git gcc-source; \ + cd gcc-source; \ + git branch -a; \ + git checkout remotes/origin/releases/gcc-12; \ + mkdir -p ../gcc-12-build && cd ../gcc-12-build ; \ + ./../gcc-source/configure --enable-languages=c,c++ --prefix=&HOME/install/gcc-12; \ + ninja -j4; \ + make install; \ + cd ../.. && rm -rf gcc-source From 2349300324c7496bf7bb8f07a127ac1b4a51f405 Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 12:35:34 +0100 Subject: [PATCH 09/31] install gcc before installing VTK The installation of VTK takes quite some time. This makes debugging faster at the moment. --- dependencies/ubuntu/Dockerfile | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index edc0ab6..5be039a 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -51,6 +51,17 @@ RUN apt-get update -y && apt-get upgrade -y; \ flex \ gcc-multilib +# install gcc-12 +RUN git clone https://gcc.gnu.org/git/gcc.git gcc-source ; \ + cd gcc-source ; \ + git branch -a ; \ + git checkout remotes/origin/releases/gcc-12 ; \ + mkdir -p gcc-12-build && cd gcc-12-build ; \ + ./../configure --enable-languages=c,c++ ; \ + ninja -j4; \ + make install; \ + cd ../.. && rm -rf gcc-source + # clone vtk RUN git clone https://github.com/Kitware/VTK.git; \ cd VTK; \ @@ -68,14 +79,3 @@ RUN git clone https://github.com/Kitware/VTK.git; \ ninja install -j4; \ # cleanup cd ../.. && rm -rf VTK - -# install gcc-12 -RUN git clone https://gcc.gnu.org/git/gcc.git gcc-source; \ - cd gcc-source; \ - git branch -a; \ - git checkout remotes/origin/releases/gcc-12; \ - mkdir -p ../gcc-12-build && cd ../gcc-12-build ; \ - ./../gcc-source/configure --enable-languages=c,c++ --prefix=&HOME/install/gcc-12; \ - ninja -j4; \ - make install; \ - cd ../.. && rm -rf gcc-source From 0a0ae2a02b63e1aabad93bff7e7059f1972f7f53 Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 12:46:25 +0100 Subject: [PATCH 10/31] Use make instead of ninja --- dependencies/ubuntu/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 5be039a..f2c0ca7 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -58,7 +58,7 @@ RUN git clone https://gcc.gnu.org/git/gcc.git gcc-source ; \ git checkout remotes/origin/releases/gcc-12 ; \ mkdir -p gcc-12-build && cd gcc-12-build ; \ ./../configure --enable-languages=c,c++ ; \ - ninja -j4; \ + make -j4; \ make install; \ cd ../.. && rm -rf gcc-source From bab1ed0a9b76063bf2ef23650c457afa2e65db89 Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 13:05:07 +0100 Subject: [PATCH 11/31] change directory befor installing --- dependencies/ubuntu/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index f2c0ca7..e90c25c 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -59,7 +59,7 @@ RUN git clone https://gcc.gnu.org/git/gcc.git gcc-source ; \ mkdir -p gcc-12-build && cd gcc-12-build ; \ ./../configure --enable-languages=c,c++ ; \ make -j4; \ - make install; \ + cd /gcc-source/gcc-12-build/ && make install; \ cd ../.. && rm -rf gcc-source # clone vtk From 3545616d54e7c289c95f1db02783a8167dec895f Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 13:15:06 +0100 Subject: [PATCH 12/31] set prefix --- dependencies/ubuntu/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index e90c25c..1b563ca 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -57,7 +57,7 @@ RUN git clone https://gcc.gnu.org/git/gcc.git gcc-source ; \ git branch -a ; \ git checkout remotes/origin/releases/gcc-12 ; \ mkdir -p gcc-12-build && cd gcc-12-build ; \ - ./../configure --enable-languages=c,c++ ; \ + ./../configure --enable-languages=c,c++ --prefix=$HOME/install/gcc-12 ; \ make -j4; \ cd /gcc-source/gcc-12-build/ && make install; \ cd ../.. && rm -rf gcc-source From 4b7c143db736c5851918badf5b162748a924c5fa Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 13:39:10 +0100 Subject: [PATCH 13/31] different approach via updating repositories --- dependencies/ubuntu/Dockerfile | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 1b563ca..b841e07 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -15,10 +15,13 @@ ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ####################################################### RUN apt-get update -y && apt-get upgrade -y; \ + apt-get dist-upgrade -y; \ # Prepare apt-get build-dep (https://askubuntu.com/questions/496549/error-you-must-put-some-source-uris-in-your-sources-list) cp /etc/apt/sources.list /etc/apt/sources.list~; \ sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list; \ - apt-get update && apt install build-essential; \ + apt-get update && apt install build-essential software-properties-common -y; \ + add-apt-repository ppa:ubuntu-toolchain-r/test -y; \ && + apt-get update -y; \ # install compiler cmake and other useful stuff apt-get install -y sudo \ build-essential \ @@ -45,22 +48,11 @@ RUN apt-get update -y && apt-get upgrade -y; \ # install NetCDF libnetcdf-dev \ # install libraries for gcc-12 - libmpfrc++-dev \ - libmpc-dev \ - libgmp-dev \ - flex \ - gcc-multilib + gcc-12 g++-12 -y; + update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100 --slave /usr/bin/g++ g++ /usr/bin/g++-12; \ + update-alternatives --config gcc; + -# install gcc-12 -RUN git clone https://gcc.gnu.org/git/gcc.git gcc-source ; \ - cd gcc-source ; \ - git branch -a ; \ - git checkout remotes/origin/releases/gcc-12 ; \ - mkdir -p gcc-12-build && cd gcc-12-build ; \ - ./../configure --enable-languages=c,c++ --prefix=$HOME/install/gcc-12 ; \ - make -j4; \ - cd /gcc-source/gcc-12-build/ && make install; \ - cd ../.. && rm -rf gcc-source # clone vtk RUN git clone https://github.com/Kitware/VTK.git; \ From 20cf8f055fbab7c6540e68e8353ac5f30b3e2faf Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 13:41:24 +0100 Subject: [PATCH 14/31] bug-fix --- dependencies/ubuntu/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index b841e07..e62152e 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -48,7 +48,7 @@ RUN apt-get update -y && apt-get upgrade -y; \ # install NetCDF libnetcdf-dev \ # install libraries for gcc-12 - gcc-12 g++-12 -y; + gcc-12 g++-12 -y; \ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100 --slave /usr/bin/g++ g++ /usr/bin/g++-12; \ update-alternatives --config gcc; From dbe3cd31157c8aae6ffe3dcc4d3b7c954cfde197 Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 13:42:43 +0100 Subject: [PATCH 15/31] remove trailing && --- dependencies/ubuntu/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index e62152e..813e0fc 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -20,7 +20,7 @@ RUN apt-get update -y && apt-get upgrade -y; \ cp /etc/apt/sources.list /etc/apt/sources.list~; \ sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list; \ apt-get update && apt install build-essential software-properties-common -y; \ - add-apt-repository ppa:ubuntu-toolchain-r/test -y; \ && + add-apt-repository ppa:ubuntu-toolchain-r/test -y; \ apt-get update -y; \ # install compiler cmake and other useful stuff apt-get install -y sudo \ From 2e5285ca1b8886b964cbad874b9640981732b490 Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 13:45:45 +0100 Subject: [PATCH 16/31] Change Ubunut Version back to 20.04 --- dependencies/ubuntu/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 813e0fc..82a7745 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -1,6 +1,6 @@ FROM ubuntu:20.04 LABEL org.opencontainers.image.authors="Sandro Elsweijer " -LABEL Description="Ubuntu 22.04 with VTK, NetCDF and OpenCASCADE setup for use with t8code" +LABEL Description="Ubuntu 20.04 with VTK, NetCDF and OpenCASCADE setup for use with t8code" SHELL ["/bin/bash", "-c"] ARG vtk_version=9.1.0 From 1399bec60687f3baca7063b3b0059eec6b3fea56 Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 13:46:17 +0100 Subject: [PATCH 17/31] remove double -y --- dependencies/ubuntu/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 82a7745..d7bfb79 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -43,12 +43,12 @@ RUN apt-get update -y && apt-get upgrade -y; \ libgl1-mesa-dev \ # install OpenCASCADE libocct-foundation-dev \ - libocct-modeling-algorithms-dev\ + libocct-modeling-algorithms-dev \ libocct-modeling-data-dev \ # install NetCDF libnetcdf-dev \ # install libraries for gcc-12 - gcc-12 g++-12 -y; \ + gcc-12 g++-12; \ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100 --slave /usr/bin/g++ g++ /usr/bin/g++-12; \ update-alternatives --config gcc; From 598c99fec64fe9e9654c1a9dc1b606e089c3525d Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 13:50:48 +0100 Subject: [PATCH 18/31] seperate gcc installation --- dependencies/ubuntu/Dockerfile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index d7bfb79..9bd031a 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -19,8 +19,7 @@ RUN apt-get update -y && apt-get upgrade -y; \ # Prepare apt-get build-dep (https://askubuntu.com/questions/496549/error-you-must-put-some-source-uris-in-your-sources-list) cp /etc/apt/sources.list /etc/apt/sources.list~; \ sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list; \ - apt-get update && apt install build-essential software-properties-common -y; \ - add-apt-repository ppa:ubuntu-toolchain-r/test -y; \ + apt-get update -y; \ # install compiler cmake and other useful stuff apt-get install -y sudo \ @@ -48,7 +47,10 @@ RUN apt-get update -y && apt-get upgrade -y; \ # install NetCDF libnetcdf-dev \ # install libraries for gcc-12 - gcc-12 g++-12; \ + software-properties-common; \ + add-apt-repository ppa:ubuntu-toolchain-r/test -y; \ + apt-get update -y; \ + apt-get install gcc-12 g++-12 -y; \ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100 --slave /usr/bin/g++ g++ /usr/bin/g++-12; \ update-alternatives --config gcc; From 085c2c383ecf519a81d63296414782bc0a6402d5 Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 14:08:37 +0100 Subject: [PATCH 19/31] unset library path before installing gcc --- dependencies/ubuntu/Dockerfile | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 9bd031a..5f1928e 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -15,12 +15,10 @@ ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ####################################################### RUN apt-get update -y && apt-get upgrade -y; \ - apt-get dist-upgrade -y; \ # Prepare apt-get build-dep (https://askubuntu.com/questions/496549/error-you-must-put-some-source-uris-in-your-sources-list) cp /etc/apt/sources.list /etc/apt/sources.list~; \ sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list; \ - - apt-get update -y; \ + apt-get update && apt install build-essential; \ # install compiler cmake and other useful stuff apt-get install -y sudo \ build-essential \ @@ -42,19 +40,29 @@ RUN apt-get update -y && apt-get upgrade -y; \ libgl1-mesa-dev \ # install OpenCASCADE libocct-foundation-dev \ - libocct-modeling-algorithms-dev \ + libocct-modeling-algorithms-dev\ libocct-modeling-data-dev \ # install NetCDF libnetcdf-dev \ # install libraries for gcc-12 - software-properties-common; \ - add-apt-repository ppa:ubuntu-toolchain-r/test -y; \ - apt-get update -y; \ - apt-get install gcc-12 g++-12 -y; \ - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100 --slave /usr/bin/g++ g++ /usr/bin/g++-12; \ - update-alternatives --config gcc; - + libmpfrc++-dev \ + libmpc-dev \ + libgmp-dev \ + flex \ + gcc-multilib +# install gcc-12 +RUN git clone https://gcc.gnu.org/git/gcc.git gcc-source ; \ + cd gcc-source ; \ + git branch -a ; \ + git checkout remotes/origin/releases/gcc-12 ; \ + mkdir -p gcc-12-build && cd gcc-12-build ; \ + unset LIBRARY_PATH; \ + ./../configure --enable-languages=c,c++ --prefix=$HOME/install/gcc-12 ; \ + export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH; \ + make -j4; \ + cd /gcc-source/gcc-12-build/ && make install; \ + cd ../.. && rm -rf gcc-source # clone vtk RUN git clone https://github.com/Kitware/VTK.git; \ From 58485204205fc605fd840dc94072ce6e32173628 Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 14:27:14 +0100 Subject: [PATCH 20/31] run the prerequisites skript instead --- dependencies/ubuntu/Dockerfile | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 5f1928e..68e133f 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -44,22 +44,15 @@ RUN apt-get update -y && apt-get upgrade -y; \ libocct-modeling-data-dev \ # install NetCDF libnetcdf-dev \ -# install libraries for gcc-12 - libmpfrc++-dev \ - libmpc-dev \ - libgmp-dev \ - flex \ - gcc-multilib # install gcc-12 RUN git clone https://gcc.gnu.org/git/gcc.git gcc-source ; \ cd gcc-source ; \ git branch -a ; \ git checkout remotes/origin/releases/gcc-12 ; \ + ./contrib/download_prerequisites ; \ mkdir -p gcc-12-build && cd gcc-12-build ; \ - unset LIBRARY_PATH; \ ./../configure --enable-languages=c,c++ --prefix=$HOME/install/gcc-12 ; \ - export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH; \ make -j4; \ cd /gcc-source/gcc-12-build/ && make install; \ cd ../.. && rm -rf gcc-source From 5cbdac17c2ac173506425bc7d6c84c9f903bbae1 Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 14:30:04 +0100 Subject: [PATCH 21/31] Remove trailing \ --- dependencies/ubuntu/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 68e133f..a69bb4e 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -43,7 +43,7 @@ RUN apt-get update -y && apt-get upgrade -y; \ libocct-modeling-algorithms-dev\ libocct-modeling-data-dev \ # install NetCDF - libnetcdf-dev \ + libnetcdf-dev # install gcc-12 RUN git clone https://gcc.gnu.org/git/gcc.git gcc-source ; \ From fff47985349fe9d3b7022df19d1e0dd4a8819d63 Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 14:55:26 +0100 Subject: [PATCH 22/31] update directory-structure --- dependencies/ubuntu/Dockerfile | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index a69bb4e..634e266 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -50,12 +50,15 @@ RUN git clone https://gcc.gnu.org/git/gcc.git gcc-source ; \ cd gcc-source ; \ git branch -a ; \ git checkout remotes/origin/releases/gcc-12 ; \ + mkdir -p ../gcc-12-build && cd ../gcc-12-build ; \ + ./../gcc-source/configure --prefix=$HOME/install/gcc-12 --enable-languages=c,c++ ; \ + cd ../gcc-source ; \ ./contrib/download_prerequisites ; \ - mkdir -p gcc-12-build && cd gcc-12-build ; \ - ./../configure --enable-languages=c,c++ --prefix=$HOME/install/gcc-12 ; \ + cd ../gcc-12-build ; \ + ./../gcc-source/configure --enable-languages=c,c++ --prefix=$HOME/install/gcc-12 ; \ make -j4; \ - cd /gcc-source/gcc-12-build/ && make install; \ - cd ../.. && rm -rf gcc-source + cd ../gcc-12-build/ && make install; \ + cd .. && rm -rf gcc-source # clone vtk RUN git clone https://github.com/Kitware/VTK.git; \ From d1c86f4b1a89adf884afccafaf45aa23e629fcdc Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 15:05:40 +0100 Subject: [PATCH 23/31] install libs --- dependencies/ubuntu/Dockerfile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 634e266..b333da2 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -43,7 +43,12 @@ RUN apt-get update -y && apt-get upgrade -y; \ libocct-modeling-algorithms-dev\ libocct-modeling-data-dev \ # install NetCDF - libnetcdf-dev + libnetcdf-dev \ +#install libs for gcc-12 + libmpfrc++-dev \ + libmpc-dev \ + libgmp-dev \ + gcc-multilib; # install gcc-12 RUN git clone https://gcc.gnu.org/git/gcc.git gcc-source ; \ From 85f334b8c46a42f91dea9e389bd8d3d82ed4f24c Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 15:18:52 +0100 Subject: [PATCH 24/31] Print versions of gcc and g++ --- dependencies/ubuntu/Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index b333da2..71d334f 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -63,7 +63,9 @@ RUN git clone https://gcc.gnu.org/git/gcc.git gcc-source ; \ ./../gcc-source/configure --enable-languages=c,c++ --prefix=$HOME/install/gcc-12 ; \ make -j4; \ cd ../gcc-12-build/ && make install; \ - cd .. && rm -rf gcc-source + cd .. && rm -rf gcc-source ;\ + gcc --version; \ + g++ --version; # clone vtk RUN git clone https://github.com/Kitware/VTK.git; \ From 930115996e6a63a0dc594dd33ef43ed1b0b9538e Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 15:57:07 +0100 Subject: [PATCH 25/31] check library path --- dependencies/ubuntu/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 71d334f..ec6e05f 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -10,6 +10,8 @@ ENV DEBIAN_FRONTEND noninteractive ENV LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH +RUN echo $LIBRARY_PATH ; + ####################################################### # Install software requirements and build tools # ####################################################### From 6218f991887484e7fb433b259d10649cb4ccafcd Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 15:58:35 +0100 Subject: [PATCH 26/31] check LD_LIBRARY_PATH --- dependencies/ubuntu/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index ec6e05f..62344b9 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -7,10 +7,10 @@ ARG vtk_version=9.1.0 ARG vtk_library_version=9.1 ENV DEBIAN_FRONTEND noninteractive -ENV LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH +ENV LIBRARY_PATH=/usr/local/lib ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH -RUN echo $LIBRARY_PATH ; +RUN echo $LD_LIBRARY_PATH ; ####################################################### # Install software requirements and build tools # From a9c11445ef8f35c33c9610f9a2c7a95651c111ea Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 15:59:43 +0100 Subject: [PATCH 27/31] LD_LIBRARY_PATH and LIBRARY_PATH are empty Appending them to the /usr/local/lib will result in errors --- dependencies/ubuntu/Dockerfile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 62344b9..44b2354 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -8,9 +8,7 @@ ARG vtk_library_version=9.1 ENV DEBIAN_FRONTEND noninteractive ENV LIBRARY_PATH=/usr/local/lib -ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH - -RUN echo $LD_LIBRARY_PATH ; +ENV LD_LIBRARY_PATH=/usr/local/lib ####################################################### # Install software requirements and build tools # From b42c40c22935f050fd47400ad970b17cdee682cc Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 16:48:02 +0100 Subject: [PATCH 28/31] dont change directories after make --- dependencies/ubuntu/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 44b2354..86edf06 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -62,7 +62,7 @@ RUN git clone https://gcc.gnu.org/git/gcc.git gcc-source ; \ cd ../gcc-12-build ; \ ./../gcc-source/configure --enable-languages=c,c++ --prefix=$HOME/install/gcc-12 ; \ make -j4; \ - cd ../gcc-12-build/ && make install; \ + make install; \ cd .. && rm -rf gcc-source ;\ gcc --version; \ g++ --version; From 5094fa11570aa53ea15448a0ca3e7d2446c8396e Mon Sep 17 00:00:00 2001 From: David Knapp Date: Wed, 20 Nov 2024 17:00:43 +0100 Subject: [PATCH 29/31] install flex --- dependencies/ubuntu/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 86edf06..699019c 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -48,6 +48,7 @@ RUN apt-get update -y && apt-get upgrade -y; \ libmpfrc++-dev \ libmpc-dev \ libgmp-dev \ + flex \ gcc-multilib; # install gcc-12 From b7a2dd5cefba4351a5b438c06a2807b357396fbe Mon Sep 17 00:00:00 2001 From: David Knapp Date: Thu, 21 Nov 2024 11:08:48 +0100 Subject: [PATCH 30/31] use ubunute 22.04 --- dependencies/ubuntu/Dockerfile | 26 ++------------------------ t8code/ubuntu/Dockerfile | 2 +- 2 files changed, 3 insertions(+), 25 deletions(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 699019c..4f0df23 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -1,6 +1,6 @@ -FROM ubuntu:20.04 +FROM ubuntu:22.04 LABEL org.opencontainers.image.authors="Sandro Elsweijer " -LABEL Description="Ubuntu 20.04 with VTK, NetCDF and OpenCASCADE setup for use with t8code" +LABEL Description="Ubuntu 22.04 with VTK, NetCDF and OpenCASCADE setup for use with t8code" SHELL ["/bin/bash", "-c"] ARG vtk_version=9.1.0 @@ -44,29 +44,7 @@ RUN apt-get update -y && apt-get upgrade -y; \ libocct-modeling-data-dev \ # install NetCDF libnetcdf-dev \ -#install libs for gcc-12 - libmpfrc++-dev \ - libmpc-dev \ - libgmp-dev \ - flex \ - gcc-multilib; -# install gcc-12 -RUN git clone https://gcc.gnu.org/git/gcc.git gcc-source ; \ - cd gcc-source ; \ - git branch -a ; \ - git checkout remotes/origin/releases/gcc-12 ; \ - mkdir -p ../gcc-12-build && cd ../gcc-12-build ; \ - ./../gcc-source/configure --prefix=$HOME/install/gcc-12 --enable-languages=c,c++ ; \ - cd ../gcc-source ; \ - ./contrib/download_prerequisites ; \ - cd ../gcc-12-build ; \ - ./../gcc-source/configure --enable-languages=c,c++ --prefix=$HOME/install/gcc-12 ; \ - make -j4; \ - make install; \ - cd .. && rm -rf gcc-source ;\ - gcc --version; \ - g++ --version; # clone vtk RUN git clone https://github.com/Kitware/VTK.git; \ diff --git a/t8code/ubuntu/Dockerfile b/t8code/ubuntu/Dockerfile index 25e3358..5f5edfd 100644 --- a/t8code/ubuntu/Dockerfile +++ b/t8code/ubuntu/Dockerfile @@ -1,6 +1,6 @@ FROM dlramr/t8code-ubuntu:t8-dependencies LABEL org.opencontainers.image.authors="Sandro Elsweijer " -LABEL Description="Ubuntu 20.04 with VTK, NetCDF and OpenCASCADE setup and t8code" +LABEL Description="Ubuntu 22.04 with VTK, NetCDF and OpenCASCADE setup and t8code" SHELL ["/bin/bash", "-c"] ARG t8code_version=1.0.0 From 4285162ea9f1e61f7392bea0cd795fa3add5827b Mon Sep 17 00:00:00 2001 From: David Knapp Date: Thu, 21 Nov 2024 15:54:17 +0100 Subject: [PATCH 31/31] Remove stray \ --- dependencies/ubuntu/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies/ubuntu/Dockerfile b/dependencies/ubuntu/Dockerfile index 4f0df23..e7c03f7 100644 --- a/dependencies/ubuntu/Dockerfile +++ b/dependencies/ubuntu/Dockerfile @@ -43,7 +43,7 @@ RUN apt-get update -y && apt-get upgrade -y; \ libocct-modeling-algorithms-dev\ libocct-modeling-data-dev \ # install NetCDF - libnetcdf-dev \ + libnetcdf-dev # clone vtk