From b3675be33a8cbc3f31addb911f2740499b49bf0b Mon Sep 17 00:00:00 2001 From: calvin_peyron Date: Fri, 8 Aug 2025 14:10:33 +0200 Subject: [PATCH 1/5] Upgrade CI images to Ubuntu 24 Libboost went from 1.74.0 to 1.83.0 alongside Ubuntu update. GCC version is set as default to be more practical. In Ubuntu22, apt sources were in .list files, in Ubuntu24 they are in .sources files. Add --break-system-packages for pip installation to use same logic as before, see the pip update 23.0.1 (2023-02-17). With Ubuntu24 liboai_device requires libpython3.12 --- ci-scripts/cls_containerize.py | 4 +- ....bionic => Dockerfile.formatting.ubuntu24} | 4 +- ....ubuntu22 => Dockerfile.unittest.ubuntu24} | 2 +- cmake_targets/cross-arm.cmake | 4 +- cmake_targets/tools/build_helper | 2 +- doc/cross-compile.md | 4 +- ...base.ubuntu22 => Dockerfile.base.ubuntu24} | 11 ++---- ...4 => Dockerfile.base.ubuntu24.cross-arm64} | 25 ++++++------ ...ockerfile.build.fhi72.native_arm.ubuntu24} | 6 +-- ...untu22 => Dockerfile.build.fhi72.ubuntu24} | 6 +-- ...ild.ubuntu22 => Dockerfile.build.ubuntu24} | 6 +-- ... => Dockerfile.build.ubuntu24.cross-arm64} | 2 +- ...e.eNB.ubuntu22 => Dockerfile.eNB.ubuntu24} | 28 ++++++------- ...buntu22 => Dockerfile.gNB.aerial.ubuntu24} | 4 +- ...file.gNB.aerial.ubuntu24.sanitize-address} | 4 +- ....ubuntu22 => Dockerfile.gNB.aw2s.ubuntu24} | 4 +- ...ubuntu22 => Dockerfile.gNB.fhi72.ubuntu24} | 6 +-- ...e.gNB.ubuntu22 => Dockerfile.gNB.ubuntu24} | 39 ++++++------------- ...eRU.ubuntu22 => Dockerfile.lteRU.ubuntu24} | 21 +++++----- ...eUE.ubuntu22 => Dockerfile.lteUE.ubuntu24} | 30 ++++++-------- ...p.ubuntu22 => Dockerfile.nr-cuup.ubuntu24} | 22 ++--------- ...nrUE.ubuntu22 => Dockerfile.nrUE.ubuntu24} | 39 ++++++------------- 22 files changed, 101 insertions(+), 172 deletions(-) rename ci-scripts/docker/{Dockerfile.formatting.bionic => Dockerfile.formatting.ubuntu24} (97%) rename ci-scripts/docker/{Dockerfile.unittest.ubuntu22 => Dockerfile.unittest.ubuntu24} (98%) rename docker/{Dockerfile.base.ubuntu22 => Dockerfile.base.ubuntu24} (89%) rename docker/{Dockerfile.base.ubuntu22.cross-arm64 => Dockerfile.base.ubuntu24.cross-arm64} (81%) rename docker/{Dockerfile.build.fhi72.native_arm.ubuntu22 => Dockerfile.build.fhi72.native_arm.ubuntu24} (95%) rename docker/{Dockerfile.build.fhi72.ubuntu22 => Dockerfile.build.fhi72.ubuntu24} (95%) rename docker/{Dockerfile.build.ubuntu22 => Dockerfile.build.ubuntu24} (94%) rename docker/{Dockerfile.build.ubuntu22.cross-arm64 => Dockerfile.build.ubuntu24.cross-arm64} (98%) rename docker/{Dockerfile.eNB.ubuntu22 => Dockerfile.eNB.ubuntu24} (87%) rename docker/{Dockerfile.gNB.aerial.ubuntu22 => Dockerfile.gNB.aerial.ubuntu24} (98%) rename docker/{Dockerfile.gNB.aerial.ubuntu22.sanitize-address => Dockerfile.gNB.aerial.ubuntu24.sanitize-address} (98%) rename docker/{Dockerfile.gNB.aw2s.ubuntu22 => Dockerfile.gNB.aw2s.ubuntu24} (98%) rename docker/{Dockerfile.gNB.fhi72.ubuntu22 => Dockerfile.gNB.fhi72.ubuntu24} (98%) rename docker/{Dockerfile.gNB.ubuntu22 => Dockerfile.gNB.ubuntu24} (79%) rename docker/{Dockerfile.lteRU.ubuntu22 => Dockerfile.lteRU.ubuntu24} (86%) rename docker/{Dockerfile.lteUE.ubuntu22 => Dockerfile.lteUE.ubuntu24} (85%) rename docker/{Dockerfile.nr-cuup.ubuntu22 => Dockerfile.nr-cuup.ubuntu24} (73%) rename docker/{Dockerfile.nrUE.ubuntu22 => Dockerfile.nrUE.ubuntu24} (78%) diff --git a/ci-scripts/cls_containerize.py b/ci-scripts/cls_containerize.py index 34522d9eef..d3168f60a3 100644 --- a/ci-scripts/cls_containerize.py +++ b/ci-scripts/cls_containerize.py @@ -298,7 +298,7 @@ class Containerize(): self.host = result.group(0) if self.host == 'Ubuntu': self.cli = 'docker' - self.dockerfileprefix = '.ubuntu22' + self.dockerfileprefix = '.ubuntu24' self.cliBuildOptions = '' elif self.host == 'Red Hat': self.cli = 'sudo podman' @@ -625,7 +625,7 @@ class Containerize(): return False # build ran-unittests image - dockerfile = "ci-scripts/docker/Dockerfile.unittest.ubuntu22" + dockerfile = "ci-scripts/docker/Dockerfile.unittest.ubuntu24" logfile = f'{lSourcePath}/cmake_targets/log/unittest-build.log' ret = cmd.run(f'docker build --progress=plain --tag ran-unittests:{baseTag} --file {dockerfile} . &> {logfile}') archiveArtifact(cmd, ctx, logfile) diff --git a/ci-scripts/docker/Dockerfile.formatting.bionic b/ci-scripts/docker/Dockerfile.formatting.ubuntu24 similarity index 97% rename from ci-scripts/docker/Dockerfile.formatting.bionic rename to ci-scripts/docker/Dockerfile.formatting.ubuntu24 index a8d58f511c..2f99a69026 100644 --- a/ci-scripts/docker/Dockerfile.formatting.bionic +++ b/ci-scripts/docker/Dockerfile.formatting.ubuntu24 @@ -21,11 +21,11 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for Ubuntu 22.04 +# Valid for Ubuntu 24.04 # #--------------------------------------------------------------------- -FROM ubuntu:bionic AS oai-formatting-check +FROM ubuntu:noble AS oai-formatting-check ARG MERGE_REQUEST ARG SRC_BRANCH diff --git a/ci-scripts/docker/Dockerfile.unittest.ubuntu22 b/ci-scripts/docker/Dockerfile.unittest.ubuntu24 similarity index 98% rename from ci-scripts/docker/Dockerfile.unittest.ubuntu22 rename to ci-scripts/docker/Dockerfile.unittest.ubuntu24 index 627b0d07f7..eb18bc24c4 100644 --- a/ci-scripts/docker/Dockerfile.unittest.ubuntu22 +++ b/ci-scripts/docker/Dockerfile.unittest.ubuntu24 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for Ubuntu 22.04 +# Valid for Ubuntu 24.04 # #--------------------------------------------------------------------- diff --git a/cmake_targets/cross-arm.cmake b/cmake_targets/cross-arm.cmake index 9480fc0fe0..09d6b25e70 100644 --- a/cmake_targets/cross-arm.cmake +++ b/cmake_targets/cross-arm.cmake @@ -1,8 +1,8 @@ set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR arm) -set(CMAKE_C_COMPILER /usr/bin/aarch64-linux-gnu-gcc-11) -set(CMAKE_CXX_COMPILER /usr/bin/aarch64-linux-gnu-g++-11) +set(CMAKE_C_COMPILER /usr/bin/aarch64-linux-gnu-gcc) +set(CMAKE_CXX_COMPILER /usr/bin/aarch64-linux-gnu-g++) set(ENV{PKG_CONFIG_LIBDIR} "/usr/lib/aarch64-linux-gnu/pkgconfig") diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index f13dd314ef..dc9678263b 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -323,7 +323,7 @@ check_install_usrp_uhd_driver(){ $SUDO apt-get remove libuhd3.14.1 -y || true $SUDO apt-get remove libuhd3.15.0 -y || true local distribution=$(get_distribution_release) - if [[ "$distribution" == "ubuntu20.04" || "$distribution" == "ubuntu22.04" ]]; then + if [[ "$distribution" == "ubuntu20.04" || "$distribution" == "ubuntu22.04" || "$distribution" == "ubuntu24.04" ]]; then $SUDO apt-get remove libuhd4.?.? -y || true fi v=$(lsb_release -cs) diff --git a/doc/cross-compile.md b/doc/cross-compile.md index 0a0ce3b1ba..ae8dbe5209 100644 --- a/doc/cross-compile.md +++ b/doc/cross-compile.md @@ -36,8 +36,8 @@ sudo cp /etc/apt/sources.list "/etc/apt/sources.list.`date`.backup" sudo sed -i -E "s/(deb)\ (http:.+)/\1\ [arch=amd64]\ \2/" /etc/apt/sources.list sudo apt update -sudo apt install -y gcc-11-aarch64-linux-gnu \ - g++-11-aarch64-linux-gnu +sudo apt install -y gcc-aarch64-linux-gnu \ + g++-aarch64-linux-gnu sudo apt-get install -y \ libblas-dev:arm64 \ diff --git a/docker/Dockerfile.base.ubuntu22 b/docker/Dockerfile.base.ubuntu24 similarity index 89% rename from docker/Dockerfile.base.ubuntu22 rename to docker/Dockerfile.base.ubuntu24 index ba8707d4db..a1f6daa3c3 100644 --- a/docker/Dockerfile.base.ubuntu22 +++ b/docker/Dockerfile.base.ubuntu24 @@ -21,12 +21,12 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for Ubuntu 22.04 +# Valid for Ubuntu 24.04 # #--------------------------------------------------------------------- -FROM ubuntu:jammy AS ran-base +FROM ubuntu:noble AS ran-base ARG NEEDED_GIT_PROXY ARG TARGETARCH ENV DEBIAN_FRONTEND=noninteractive @@ -43,9 +43,6 @@ RUN apt-get update && \ ccache \ psmisc \ git \ - #use gcc-12 to avoid problems of default gcc-11 in FlexRIC - gcc-12 \ - g++-12 \ xxd \ libpcre2-dev \ python3-dev \ @@ -55,8 +52,8 @@ RUN apt-get update && \ # python3-pip for conf template generation python3-pip \ wget && \ - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100 --slave /usr/bin/g++ g++ /usr/bin/g++-12 && \ - pip3 install --ignore-installed pyyaml + # --break-system-packages allows externally managed environment in pip + pip3 install --ignore-installed pyyaml --break-system-packages # Add "Tini - A tiny but valid init for containers", https://github.com/krallin/tini # it will be copied into target containers, to print exit numbers and handle signals properly diff --git a/docker/Dockerfile.base.ubuntu22.cross-arm64 b/docker/Dockerfile.base.ubuntu24.cross-arm64 similarity index 81% rename from docker/Dockerfile.base.ubuntu22.cross-arm64 rename to docker/Dockerfile.base.ubuntu24.cross-arm64 index 1bcba7bdd6..00c7290f5b 100644 --- a/docker/Dockerfile.base.ubuntu22.cross-arm64 +++ b/docker/Dockerfile.base.ubuntu24.cross-arm64 @@ -21,12 +21,12 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for Ubuntu 22.04 to cross-compile for ARM64 +# Valid for Ubuntu 24.04 to cross-compile for ARM64 # #--------------------------------------------------------------------- -# Very important, the jammy image shall not be using mirrors. A lot of them do NOT support ARM64. -FROM ubuntu:jammy AS ran-base +# Very important, the noble image shall not be using mirrors. A lot of them do NOT support ARM64. +FROM ubuntu:noble AS ran-base ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe/Paris # Specifying a working version of SIMDE for ARM: @@ -37,16 +37,17 @@ RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ #enabling arm64 architecture dpkg --add-architecture arm64 && \ - echo "deb [arch=arm64] http://ports.ubuntu.com/ jammy main restricted\n" \ - "deb [arch=arm64] http://ports.ubuntu.com/ jammy-updates main restricted\n" \ - "deb [arch=arm64] http://ports.ubuntu.com/ jammy universe\n" \ - "deb [arch=arm64] http://ports.ubuntu.com/ jammy-updates universe\n" \ - "deb [arch=arm64] http://ports.ubuntu.com/ jammy multiverse\n" \ - "deb [arch=arm64] http://ports.ubuntu.com/ jammy-updates multiverse\n" \ - "deb [arch=arm64] http://ports.ubuntu.com/ jammy-backports main restricted universe multiverse" \ + echo "deb [arch=arm64] http://ports.ubuntu.com/ noble main restricted\n" \ + "deb [arch=arm64] http://ports.ubuntu.com/ noble-updates main restricted\n" \ + "deb [arch=arm64] http://ports.ubuntu.com/ noble universe\n" \ + "deb [arch=arm64] http://ports.ubuntu.com/ noble-updates universe\n" \ + "deb [arch=arm64] http://ports.ubuntu.com/ noble multiverse\n" \ + "deb [arch=arm64] http://ports.ubuntu.com/ noble-updates multiverse\n" \ + "deb [arch=arm64] http://ports.ubuntu.com/ noble-backports main restricted universe multiverse" \ | tee /etc/apt/sources.list.d/arm-cross-compile-sources.list && \ cp /etc/apt/sources.list "/etc/apt/sources.list.`date`.backup" && \ sed -i -E "s/(deb)\ (http:.+)/\1\ [arch=amd64]\ \2/" /etc/apt/sources.list && \ + sed -i '/^Components:/a Architectures: amd64' /etc/apt/sources.list.d/ubuntu.sources && \ apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ DEBIAN_FRONTEND=noninteractive apt-get install --yes \ @@ -69,8 +70,8 @@ RUN apt-get update && \ libyaml-cpp-dev:arm64 \ # cross build libs and compilers libc6-dev-i386 \ - gcc-11-aarch64-linux-gnu \ - g++-11-aarch64-linux-gnu && \ + gcc-aarch64-linux-gnu \ + g++-aarch64-linux-gnu && \ apt-get clean # Add "Tini - A tiny but valid init for containers", https://github.com/krallin/tini diff --git a/docker/Dockerfile.build.fhi72.native_arm.ubuntu22 b/docker/Dockerfile.build.fhi72.native_arm.ubuntu24 similarity index 95% rename from docker/Dockerfile.build.fhi72.native_arm.ubuntu22 rename to docker/Dockerfile.build.fhi72.native_arm.ubuntu24 index b796122bf3..f9f3dc3a8f 100644 --- a/docker/Dockerfile.build.fhi72.native_arm.ubuntu22 +++ b/docker/Dockerfile.build.fhi72.native_arm.ubuntu24 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface RAN Build for FHI 7.2 -# Valid for UBUNTU 22.04 +# Valid for UBUNTU 24.04 # #--------------------------------------------------------------------- @@ -94,8 +94,6 @@ RUN mkdir -p openair2/E2AP/flexric/build && \ cmake -GNinja -DCMAKE_BUILD_TYPE=Release \ -DXAPP_MULTILANGUAGE=OFF \ -DKPM_VERSION=$KPM_VERSION \ - -DE2AP_VERSION=$E2AP_VERSION \ - -DCMAKE_C_COMPILER=gcc-12 \ - -DCMAKE_CXX_COMPILER=g++-12 .. && \ + -DE2AP_VERSION=$E2AP_VERSION .. && \ ninja && \ ninja install diff --git a/docker/Dockerfile.build.fhi72.ubuntu22 b/docker/Dockerfile.build.fhi72.ubuntu24 similarity index 95% rename from docker/Dockerfile.build.fhi72.ubuntu22 rename to docker/Dockerfile.build.fhi72.ubuntu24 index 4674648285..b60553dc1c 100644 --- a/docker/Dockerfile.build.fhi72.ubuntu22 +++ b/docker/Dockerfile.build.fhi72.ubuntu24 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface RAN Build for FHI 7.2 -# Valid for UBUNTU 22.04 +# Valid for UBUNTU 24.04 # #--------------------------------------------------------------------- @@ -83,8 +83,6 @@ RUN mkdir -p openair2/E2AP/flexric/build && \ cd openair2/E2AP/flexric/build && \ cmake -GNinja -DCMAKE_BUILD_TYPE=Release \ -DKPM_VERSION=$KPM_VERSION \ - -DE2AP_VERSION=$E2AP_VERSION \ - -DCMAKE_C_COMPILER=gcc-12 \ - -DCMAKE_CXX_COMPILER=g++-12 .. && \ + -DE2AP_VERSION=$E2AP_VERSION .. && \ ninja && \ ninja install diff --git a/docker/Dockerfile.build.ubuntu22 b/docker/Dockerfile.build.ubuntu24 similarity index 94% rename from docker/Dockerfile.build.ubuntu22 rename to docker/Dockerfile.build.ubuntu24 index c11946ecdb..b2cc9c6888 100644 --- a/docker/Dockerfile.build.ubuntu22 +++ b/docker/Dockerfile.build.ubuntu24 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for Ubuntu 22.04 +# Valid for Ubuntu 24.04 # #--------------------------------------------------------------------- @@ -66,8 +66,6 @@ RUN \ cd openair2/E2AP/flexric/build && \ cmake -GNinja -DCMAKE_BUILD_TYPE=Release \ -DKPM_VERSION=$KPM_VERSION \ - -DE2AP_VERSION=$E2AP_VERSION \ - -DCMAKE_C_COMPILER=gcc-12 \ - -DCMAKE_CXX_COMPILER=g++-12 .. && \ + -DE2AP_VERSION=$E2AP_VERSION .. && \ ninja && \ ninja install diff --git a/docker/Dockerfile.build.ubuntu22.cross-arm64 b/docker/Dockerfile.build.ubuntu24.cross-arm64 similarity index 98% rename from docker/Dockerfile.build.ubuntu22.cross-arm64 rename to docker/Dockerfile.build.ubuntu24.cross-arm64 index 78c7a64f64..a7978bb6fa 100644 --- a/docker/Dockerfile.build.ubuntu22.cross-arm64 +++ b/docker/Dockerfile.build.ubuntu24.cross-arm64 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for Ubuntu 22.04 to cross-compile for ARM64 +# Valid for Ubuntu 24.04 to cross-compile for ARM64 # #--------------------------------------------------------------------- diff --git a/docker/Dockerfile.eNB.ubuntu22 b/docker/Dockerfile.eNB.ubuntu24 similarity index 87% rename from docker/Dockerfile.eNB.ubuntu22 rename to docker/Dockerfile.eNB.ubuntu24 index 44797cd7f5..0071d3abef 100644 --- a/docker/Dockerfile.eNB.ubuntu22 +++ b/docker/Dockerfile.eNB.ubuntu24 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for Ubuntu 22.04 +# Valid for Ubuntu 24.04 # #--------------------------------------------------------------------- @@ -31,7 +31,7 @@ FROM ran-build:latest AS enb-build #start from scratch for target executable -FROM ubuntu:jammy AS oai-enb +FROM ubuntu:noble AS oai-enb ARG BUILD_OPTION ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe/Paris @@ -42,14 +42,14 @@ RUN apt-get update && \ software-properties-common \ procps \ libsctp1 \ - libboost-chrono1.74.0 \ - libboost-date-time1.74.0 \ - libboost-filesystem1.74.0 \ - libboost-regex1.74.0 \ - libboost-serialization1.74.0 \ - libboost-thread1.74.0 \ - libboost-system1.74.0 \ - libboost-program-options1.74.0 \ + libboost-chrono1.83.0 \ + libboost-date-time1.83.0 \ + libboost-filesystem1.83.0 \ + libboost-regex1.83.0 \ + libboost-serialization1.83.0 \ + libboost-thread1.83.0 \ + libboost-system1.83.0 \ + libboost-program-options1.83.0 \ tzdata \ libblas3 \ libconfig9 \ @@ -73,18 +73,12 @@ RUN apt-get update && \ apt-get remove -y wget && \ # if the --sanitize option was used to build, additional packages are required /bin/bash -c 'if [[ "$BUILD_OPTION" = "--sanitize" ]]; then DEBIAN_FRONTEND=noninteractive apt-get install --yes \ - #libasan5 \ # see below + libasan8 \ libubsan1 \ liblapacke; fi' && \ apt-get clean -y && \ rm -rf /var/lib/apt/lists/* -# we select another compile (gcc-12) for compilation, requiring another libasan -# library version. Installing it above would install the wrong version. Hence, -# copy the right version from ran-build. When upgrading to Ubuntu24, install -# the correct one above! -COPY --from=enb-build /usr/lib/x86_64-linux-gnu/libasan.so.8.0.0 /usr/lib/x86_64-linux-gnu/ - WORKDIR /opt/oai-enb/bin COPY --from=enb-build \ /oai-ran/cmake_targets/ran_build/build/lte-softmodem ./ diff --git a/docker/Dockerfile.gNB.aerial.ubuntu22 b/docker/Dockerfile.gNB.aerial.ubuntu24 similarity index 98% rename from docker/Dockerfile.gNB.aerial.ubuntu22 rename to docker/Dockerfile.gNB.aerial.ubuntu24 index 07bc569586..40cfbcf185 100644 --- a/docker/Dockerfile.gNB.aerial.ubuntu22 +++ b/docker/Dockerfile.gNB.aerial.ubuntu24 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for Ubuntu 22.04 +# Valid for Ubuntu 24.04 # #--------------------------------------------------------------------- @@ -59,7 +59,7 @@ RUN /bin/sh oaienv && \ #start from scratch for target executable -FROM ubuntu:jammy AS oai-gnb-aerial +FROM ubuntu:noble AS oai-gnb-aerial ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe diff --git a/docker/Dockerfile.gNB.aerial.ubuntu22.sanitize-address b/docker/Dockerfile.gNB.aerial.ubuntu24.sanitize-address similarity index 98% rename from docker/Dockerfile.gNB.aerial.ubuntu22.sanitize-address rename to docker/Dockerfile.gNB.aerial.ubuntu24.sanitize-address index c8d35aee55..998b7bdd0c 100644 --- a/docker/Dockerfile.gNB.aerial.ubuntu22.sanitize-address +++ b/docker/Dockerfile.gNB.aerial.ubuntu24.sanitize-address @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for Ubuntu 22.04 +# Valid for Ubuntu 24.04 # #--------------------------------------------------------------------- @@ -58,7 +58,7 @@ RUN /bin/sh oaienv && \ #start from scratch for target executable -FROM ubuntu:jammy AS oai-gnb-aerial +FROM ubuntu:noble AS oai-gnb-aerial ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe diff --git a/docker/Dockerfile.gNB.aw2s.ubuntu22 b/docker/Dockerfile.gNB.aw2s.ubuntu24 similarity index 98% rename from docker/Dockerfile.gNB.aw2s.ubuntu22 rename to docker/Dockerfile.gNB.aw2s.ubuntu24 index 11893171db..ca87176258 100644 --- a/docker/Dockerfile.gNB.aw2s.ubuntu22 +++ b/docker/Dockerfile.gNB.aw2s.ubuntu24 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for Ubuntu 22.04 +# Valid for Ubuntu 24.04 # #--------------------------------------------------------------------- @@ -38,7 +38,7 @@ RUN /bin/sh oaienv && \ ./build_oai -w AW2SORI -t Ethernet #start from scratch for target executable -FROM ubuntu:jammy as oai-gnb-aw2s +FROM ubuntu:noble as oai-gnb-aw2s ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe diff --git a/docker/Dockerfile.gNB.fhi72.ubuntu22 b/docker/Dockerfile.gNB.fhi72.ubuntu24 similarity index 98% rename from docker/Dockerfile.gNB.fhi72.ubuntu22 rename to docker/Dockerfile.gNB.fhi72.ubuntu24 index eb781281ec..c83da9004a 100644 --- a/docker/Dockerfile.gNB.fhi72.ubuntu22 +++ b/docker/Dockerfile.gNB.fhi72.ubuntu24 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface 7.2 Fronthaul -# Valid for Ubuntu22.04 +# Valid for Ubuntu24.04 # #--------------------------------------------------------------------- @@ -31,7 +31,7 @@ FROM ran-build-fhi72:latest AS gnb-build #start from scratch for target executable -FROM ubuntu:jammy AS oai-gnb +FROM ubuntu:noble AS oai-gnb ARG BUILD_OPTION ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe @@ -62,7 +62,7 @@ RUN apt-get update && \ libyaml-cpp-dev && \ # if the --sanitize option was used to build, additional packages are required /bin/bash -c 'if [[ "$BUILD_OPTION" = "--sanitize" ]]; then DEBIAN_FRONTEND=noninteractive apt-get install --yes \ - libasan5 \ + libasan8 \ libubsan1 \ liblapacke; fi' && \ rm -rf /var/lib/apt/lists/* diff --git a/docker/Dockerfile.gNB.ubuntu22 b/docker/Dockerfile.gNB.ubuntu24 similarity index 79% rename from docker/Dockerfile.gNB.ubuntu22 rename to docker/Dockerfile.gNB.ubuntu24 index ea7b538c41..977c53083d 100644 --- a/docker/Dockerfile.gNB.ubuntu22 +++ b/docker/Dockerfile.gNB.ubuntu24 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for Ubuntu20.04 +# Valid for Ubuntu24.04 # #--------------------------------------------------------------------- @@ -31,7 +31,7 @@ FROM ran-build:latest AS gnb-build #start from scratch for target executable -FROM ubuntu:jammy AS oai-gnb +FROM ubuntu:noble AS oai-gnb ARG BUILD_OPTION ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe/Paris @@ -42,14 +42,14 @@ RUN apt-get update && \ software-properties-common \ procps \ libsctp1 \ - libboost-chrono1.74.0 \ - libboost-date-time1.74.0 \ - libboost-filesystem1.74.0 \ - libboost-regex1.74.0 \ - libboost-serialization1.74.0 \ - libboost-thread1.74.0 \ - libboost-system1.74.0 \ - libboost-program-options1.74.0 \ + libboost-chrono1.83.0 \ + libboost-date-time1.83.0 \ + libboost-filesystem1.83.0 \ + libboost-regex1.83.0 \ + libboost-serialization1.83.0 \ + libboost-thread1.83.0 \ + libboost-system1.83.0 \ + libboost-program-options1.83.0 \ tzdata \ libblas3 \ libconfig9 \ @@ -67,29 +67,12 @@ RUN apt-get update && \ libyaml-cpp-dev && \ # if the --sanitize option was used to build, additional packages are required /bin/bash -c 'if [[ "$BUILD_OPTION" = "--sanitize" ]]; then DEBIAN_FRONTEND=noninteractive apt-get install --yes \ - #libasan5 \ # see below + libasan8 \ libubsan1 \ liblapacke; fi' && \ apt-get clean -y && \ rm -rf /var/lib/apt/lists/* -# we select another compile (gcc-12) for compilation, requiring another libasan -# library version. Installing it above would install the wrong version. Hence, -# copy the right version from ran-build. When upgrading to Ubuntu24, install -# the correct one above! -# note: this dockerfile should work for both x86 and arm, hence the glob below -# which should either match "x86_64" (x86) or "aarch64" (ARM); since the target -# directory needs to be also one of those two, but globs don't work in target -# directories, work around this with mv -COPY --from=gnb-build /usr/lib/*-linux-gnu/libasan.so.8.0.0 /usr/lib/ -ARG TARGETPLATFORM -RUN case "${TARGETPLATFORM}" in \ - "linux/amd64") TARGET_DIR=x86_64-linux-gnu ;; \ - "linux/arm64") TARGET_DIR=aarch64-linux-gnu ;; \ - *) exit 1 ;; \ - esac; \ - mv /usr/lib/libasan.so.8.0.0 /usr/lib/$TARGET_DIR/libasan.so.8.0.0 - WORKDIR /opt/oai-gnb/bin COPY --from=gnb-build \ /oai-ran/cmake_targets/ran_build/build/nr-softmodem ./ diff --git a/docker/Dockerfile.lteRU.ubuntu22 b/docker/Dockerfile.lteRU.ubuntu24 similarity index 86% rename from docker/Dockerfile.lteRU.ubuntu22 rename to docker/Dockerfile.lteRU.ubuntu24 index 0f5f68932a..80bdaafa9d 100644 --- a/docker/Dockerfile.lteRU.ubuntu22 +++ b/docker/Dockerfile.lteRU.ubuntu24 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for Ubuntu 22.04 +# Valid for Ubuntu 24.04 # #--------------------------------------------------------------------- @@ -31,7 +31,7 @@ FROM ran-build:latest AS ru-build #start from scratch for target executable -FROM ubuntu:jammy AS oai-lte-ru +FROM ubuntu:noble AS oai-lte-ru ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe/Paris @@ -41,6 +41,14 @@ RUN apt-get update && \ tzdata \ procps \ software-properties-common \ + libboost-chrono1.83.0 \ + libboost-date-time1.83.0 \ + libboost-filesystem1.83.0 \ + libboost-regex1.83.0 \ + libboost-serialization1.83.0 \ + libboost-thread1.83.0 \ + libboost-system1.83.0 \ + libboost-program-options1.83.0 \ libblas3 \ libconfig9 \ net-tools \ @@ -71,15 +79,6 @@ COPY --from=ru-base /usr/local/bin/uhd_find_devices /usr/local/bin COPY --from=ru-base /usr/local/lib/libuhd.so.4.4.0 /usr/local/lib COPY --from=ru-base /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ru/bin -COPY --from=ru-base \ - /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.74.0 \ - /usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.74.0 \ - /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.74.0 \ - /usr/lib/x86_64-linux-gnu/libboost_regex.so.1.74.0 \ - /usr/lib/x86_64-linux-gnu/libboost_serialization.so.1.74.0 \ - /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0 \ - /usr/lib/x86_64-linux-gnu/libboost_system.so.1.74.0 \ - /usr/lib/x86_64-linux-gnu/ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \ ldconfig && \ diff --git a/docker/Dockerfile.lteUE.ubuntu22 b/docker/Dockerfile.lteUE.ubuntu24 similarity index 85% rename from docker/Dockerfile.lteUE.ubuntu22 rename to docker/Dockerfile.lteUE.ubuntu24 index 27623dbd33..5faa43f0ab 100644 --- a/docker/Dockerfile.lteUE.ubuntu22 +++ b/docker/Dockerfile.lteUE.ubuntu24 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for Ubuntu20.04 +# Valid for Ubuntu24.04 # #--------------------------------------------------------------------- @@ -31,7 +31,7 @@ FROM ran-build:latest AS lte-ue-build #start from scratch for target executable -FROM ubuntu:jammy AS oai-lte-ue +FROM ubuntu:noble AS oai-lte-ue ARG BUILD_OPTION ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe/Paris @@ -42,14 +42,14 @@ RUN apt-get update && \ software-properties-common \ procps \ libsctp1 \ - libboost-chrono1.74.0 \ - libboost-date-time1.74.0 \ - libboost-filesystem1.74.0 \ - libboost-regex1.74.0 \ - libboost-serialization1.74.0 \ - libboost-thread1.74.0 \ - libboost-system1.74.0 \ - libboost-program-options1.74.0 \ + libboost-chrono1.83.0 \ + libboost-date-time1.83.0 \ + libboost-filesystem1.83.0 \ + libboost-regex1.83.0 \ + libboost-serialization1.83.0 \ + libboost-thread1.83.0 \ + libboost-system1.83.0 \ + libboost-program-options1.83.0 \ tzdata \ liblapacke \ libblas3 \ @@ -59,7 +59,7 @@ RUN apt-get update && \ python3 \ python3-six \ python3-requests \ - libpython3.10 \ + libpython3.12 \ libusb-1.0-0 \ iputils-ping \ iproute2 \ @@ -74,18 +74,12 @@ RUN apt-get update && \ apt-get remove -y wget && \ # if the --sanitize option was used to build, additional packages are required /bin/bash -c 'if [[ "$BUILD_OPTION" = "--sanitize" ]]; then DEBIAN_FRONTEND=noninteractive apt-get install --yes \ - #libasan5 \ # see below + libasan8 \ libubsan1 \ liblapacke; fi' && \ apt-get clean -y && \ rm -rf /var/lib/apt/lists/* -# we select another compile (gcc-12) for compilation, requiring another libasan -# library version. Installing it above would install the wrong version. Hence, -# copy the right version from ran-build. When upgrading to Ubuntu24, install -# the correct one above! -COPY --from=lte-ue-build /usr/lib/x86_64-linux-gnu/libasan.so.8.0.0 /usr/lib/x86_64-linux-gnu/ - WORKDIR /opt/oai-lte-ue/bin COPY --from=lte-ue-build \ /oai-ran/cmake_targets/ran_build/build/lte-uesoftmodem \ diff --git a/docker/Dockerfile.nr-cuup.ubuntu22 b/docker/Dockerfile.nr-cuup.ubuntu24 similarity index 73% rename from docker/Dockerfile.nr-cuup.ubuntu22 rename to docker/Dockerfile.nr-cuup.ubuntu24 index 2952afa34b..e33fc508d0 100644 --- a/docker/Dockerfile.nr-cuup.ubuntu22 +++ b/docker/Dockerfile.nr-cuup.ubuntu24 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for Ubuntu20.04 +# Valid for Ubuntu24.04 # #--------------------------------------------------------------------- @@ -30,7 +30,7 @@ FROM ran-base:latest AS gnb-base FROM ran-build:latest AS gnb-build -FROM ubuntu:jammy AS oai-nr-cuup +FROM ubuntu:noble AS oai-nr-cuup ARG BUILD_OPTION ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe @@ -45,27 +45,11 @@ RUN apt-get update && \ openssl && \ # if the --sanitize option was used to build, additional packages are required /bin/bash -c 'if [[ "$BUILD_OPTION" = "--sanitize" ]]; then DEBIAN_FRONTEND=noninteractive apt-get install --yes \ - #libasan5 \ see below + libasan8 \ libubsan1 \ liblapacke; fi' && \ rm -rf /var/lib/apt/lists/* -# we select another compile (gcc-12) for compilation, requiring another libasan -# library version. Installing it above would install the wrong version. Hence, -# copy the right version from ran-build. When upgrading to Ubuntu24, install -# the correct one above! -# note: this dockerfile should work for both x86 and arm, hence the glob below -# which should either match "x86_64" (x86) or "aarch64" (ARM); since the target -# directory needs to be also one of those two, but globs don't work in target -# directories, work around this with mv -COPY --from=gnb-build /usr/lib/*-linux-gnu/libasan.so.8.0.0 /usr/lib/ -ARG TARGETPLATFORM -RUN case "${TARGETPLATFORM}" in \ - "linux/amd64") TARGET_DIR=x86_64-linux-gnu ;; \ - "linux/arm64") TARGET_DIR=aarch64-linux-gnu ;; \ - *) exit 1 ;; \ - esac; \ - mv /usr/lib/libasan.so.8.0.0 /usr/lib/$TARGET_DIR/libasan.so.8.0.0 ## Copy E2 SM models COPY --from=gnb-build /usr/local/lib/flexric /usr/local/lib/flexric diff --git a/docker/Dockerfile.nrUE.ubuntu22 b/docker/Dockerfile.nrUE.ubuntu24 similarity index 78% rename from docker/Dockerfile.nrUE.ubuntu22 rename to docker/Dockerfile.nrUE.ubuntu24 index c3b6592753..061587f04b 100644 --- a/docker/Dockerfile.nrUE.ubuntu22 +++ b/docker/Dockerfile.nrUE.ubuntu24 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for Ubuntu 22.04 +# Valid for Ubuntu 24.04 # #--------------------------------------------------------------------- @@ -31,7 +31,7 @@ FROM ran-build:latest AS nr-ue-build #start from scratch for target executable -FROM ubuntu:jammy AS oai-nr-ue +FROM ubuntu:noble AS oai-nr-ue ARG BUILD_OPTION ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe/Paris @@ -42,14 +42,14 @@ RUN apt-get update && \ software-properties-common \ procps \ libsctp1 \ - libboost-chrono1.74.0 \ - libboost-date-time1.74.0 \ - libboost-filesystem1.74.0 \ - libboost-regex1.74.0 \ - libboost-serialization1.74.0 \ - libboost-thread1.74.0 \ - libboost-system1.74.0 \ - libboost-program-options1.74.0 \ + libboost-chrono1.83.0 \ + libboost-date-time1.83.0 \ + libboost-filesystem1.83.0 \ + libboost-regex1.83.0 \ + libboost-serialization1.83.0 \ + libboost-thread1.83.0 \ + libboost-system1.83.0 \ + libboost-program-options1.83.0 \ tzdata \ liblapacke \ libblas3 \ @@ -68,28 +68,11 @@ RUN apt-get update && \ libyaml-cpp-dev && \ # if the --sanitize option was used to build, additional packages are required /bin/bash -c 'if [[ "$BUILD_OPTION" = "--sanitize" ]]; then DEBIAN_FRONTEND=noninteractive apt-get install --yes \ - #libasan5 \ # see below + libasan8 \ libubsan1; fi' && \ apt-get clean -y && \ rm -rf /var/lib/apt/lists/* -# we select another compile (gcc-12) for compilation, requiring another libasan -# library version. Installing it above would install the wrong version. Hence, -# copy the right version from ran-build. When upgrading to Ubuntu24, install -# the correct one above! -# note: this dockerfile should work for both x86 and arm, hence the glob below -# which should either match "x86_64" (x86) or "aarch64" (ARM); since the target -# directory needs to be also one of those two, but globs don't work in target -# directories, work around this with mv -COPY --from=nr-ue-build /usr/lib/*-linux-gnu/libasan.so.8.0.0 /usr/lib/ -ARG TARGETPLATFORM -RUN case "${TARGETPLATFORM}" in \ - "linux/amd64") TARGET_DIR=x86_64-linux-gnu ;; \ - "linux/arm64") TARGET_DIR=aarch64-linux-gnu ;; \ - *) exit 1 ;; \ - esac; \ - mv /usr/lib/libasan.so.8.0.0 /usr/lib/$TARGET_DIR/libasan.so.8.0.0 - WORKDIR /opt/oai-nr-ue/bin COPY --from=nr-ue-build \ /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem \ From bc9ae55723407df2e35fc4bf3d4c2a878ac0884a Mon Sep 17 00:00:00 2001 From: calvin_peyron Date: Fri, 8 Aug 2025 14:11:37 +0200 Subject: [PATCH 2/5] Remove redundancy As DEBIAN_FRONTEND has been set as environment variable, there is no need to use DEBIAN_FRONTEND=noninteractive inside RUN lines, it is redundant, hence it has been removed. --- ci-scripts/docker/Dockerfile.cppcheck.xenial | 4 ++-- ci-scripts/docker/Dockerfile.formatting.ubuntu24 | 4 ++-- docker/Dockerfile.base.ubuntu24 | 4 ++-- docker/Dockerfile.base.ubuntu24.cross-arm64 | 6 +++--- docker/Dockerfile.build.fhi72.native_arm.ubuntu24 | 4 ++-- docker/Dockerfile.build.fhi72.ubuntu24 | 4 ++-- docker/Dockerfile.eNB.ubuntu24 | 4 ++-- docker/Dockerfile.gNB.aerial.ubuntu24 | 4 ++-- docker/Dockerfile.gNB.aerial.ubuntu24.sanitize-address | 4 ++-- docker/Dockerfile.gNB.aw2s.ubuntu24 | 4 ++-- docker/Dockerfile.gNB.fhi72.ubuntu24 | 4 ++-- docker/Dockerfile.gNB.ubuntu24 | 4 ++-- docker/Dockerfile.lteRU.ubuntu24 | 4 ++-- docker/Dockerfile.lteUE.ubuntu24 | 4 ++-- docker/Dockerfile.nr-cuup.ubuntu24 | 4 ++-- docker/Dockerfile.nrUE.ubuntu24 | 4 ++-- 16 files changed, 33 insertions(+), 33 deletions(-) diff --git a/ci-scripts/docker/Dockerfile.cppcheck.xenial b/ci-scripts/docker/Dockerfile.cppcheck.xenial index 5a61532346..f2c5856358 100644 --- a/ci-scripts/docker/Dockerfile.cppcheck.xenial +++ b/ci-scripts/docker/Dockerfile.cppcheck.xenial @@ -30,8 +30,8 @@ FROM ubuntu:xenial AS oai-cppcheck ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ - DEBIAN_FRONTEND=noninteractive apt-get install --yes \ + apt-get upgrade --yes && \ + apt-get install --yes \ build-essential \ vim \ cppcheck diff --git a/ci-scripts/docker/Dockerfile.formatting.ubuntu24 b/ci-scripts/docker/Dockerfile.formatting.ubuntu24 index 2f99a69026..382dcb3514 100644 --- a/ci-scripts/docker/Dockerfile.formatting.ubuntu24 +++ b/ci-scripts/docker/Dockerfile.formatting.ubuntu24 @@ -33,8 +33,8 @@ ARG TARGET_BRANCH ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ - DEBIAN_FRONTEND=noninteractive apt-get install --yes \ + apt-get upgrade --yes && \ + apt-get install --yes \ gawk \ git diff --git a/docker/Dockerfile.base.ubuntu24 b/docker/Dockerfile.base.ubuntu24 index a1f6daa3c3..959b863368 100644 --- a/docker/Dockerfile.base.ubuntu24 +++ b/docker/Dockerfile.base.ubuntu24 @@ -36,8 +36,8 @@ ENV UHD_VERSION=4.4.0.0 #install developers pkg/repo RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ - DEBIAN_FRONTEND=noninteractive apt-get install --yes \ + apt-get upgrade --yes && \ + apt-get install --yes \ #gcc needed for build_oai build-essential \ ccache \ diff --git a/docker/Dockerfile.base.ubuntu24.cross-arm64 b/docker/Dockerfile.base.ubuntu24.cross-arm64 index 00c7290f5b..1365df71fe 100644 --- a/docker/Dockerfile.base.ubuntu24.cross-arm64 +++ b/docker/Dockerfile.base.ubuntu24.cross-arm64 @@ -34,7 +34,7 @@ ENV SIMDE_VERSION=389f360a66d4a3bec62b7d71ad8be877487809ba #install developers pkg/repo RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ + apt-get upgrade --yes && \ #enabling arm64 architecture dpkg --add-architecture arm64 && \ echo "deb [arch=arm64] http://ports.ubuntu.com/ noble main restricted\n" \ @@ -49,8 +49,8 @@ RUN apt-get update && \ sed -i -E "s/(deb)\ (http:.+)/\1\ [arch=amd64]\ \2/" /etc/apt/sources.list && \ sed -i '/^Components:/a Architectures: amd64' /etc/apt/sources.list.d/ubuntu.sources && \ apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ - DEBIAN_FRONTEND=noninteractive apt-get install --yes \ + apt-get upgrade --yes && \ + apt-get install --yes \ build-essential \ psmisc \ git \ diff --git a/docker/Dockerfile.build.fhi72.native_arm.ubuntu24 b/docker/Dockerfile.build.fhi72.native_arm.ubuntu24 index f9f3dc3a8f..96f50fa485 100644 --- a/docker/Dockerfile.build.fhi72.native_arm.ubuntu24 +++ b/docker/Dockerfile.build.fhi72.native_arm.ubuntu24 @@ -32,8 +32,8 @@ ARG KPM_VERSION=KPM_V3_00 ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ - DEBIAN_FRONTEND=noninteractive apt-get install --yes \ + apt-get upgrade --yes && \ + apt-get install --yes \ meson \ wget \ xz-utils \ diff --git a/docker/Dockerfile.build.fhi72.ubuntu24 b/docker/Dockerfile.build.fhi72.ubuntu24 index b60553dc1c..7b3ade05b0 100644 --- a/docker/Dockerfile.build.fhi72.ubuntu24 +++ b/docker/Dockerfile.build.fhi72.ubuntu24 @@ -32,8 +32,8 @@ ARG KPM_VERSION=KPM_V3_00 ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ - DEBIAN_FRONTEND=noninteractive apt-get install --yes \ + apt-get upgrade --yes && \ + apt-get install --yes \ meson \ wget \ xz-utils \ diff --git a/docker/Dockerfile.eNB.ubuntu24 b/docker/Dockerfile.eNB.ubuntu24 index 0071d3abef..31e0adce30 100644 --- a/docker/Dockerfile.eNB.ubuntu24 +++ b/docker/Dockerfile.eNB.ubuntu24 @@ -37,8 +37,8 @@ ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe/Paris RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ - DEBIAN_FRONTEND=noninteractive apt-get install --yes \ + apt-get upgrade --yes && \ + apt-get install --yes \ software-properties-common \ procps \ libsctp1 \ diff --git a/docker/Dockerfile.gNB.aerial.ubuntu24 b/docker/Dockerfile.gNB.aerial.ubuntu24 index 40cfbcf185..c31025e039 100644 --- a/docker/Dockerfile.gNB.aerial.ubuntu24 +++ b/docker/Dockerfile.gNB.aerial.ubuntu24 @@ -64,8 +64,8 @@ ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ - DEBIAN_FRONTEND=noninteractive apt-get install --yes \ + apt-get upgrade --yes && \ + apt-get install --yes \ software-properties-common \ procps \ libsctp1 \ diff --git a/docker/Dockerfile.gNB.aerial.ubuntu24.sanitize-address b/docker/Dockerfile.gNB.aerial.ubuntu24.sanitize-address index 998b7bdd0c..c2bbe7ac88 100644 --- a/docker/Dockerfile.gNB.aerial.ubuntu24.sanitize-address +++ b/docker/Dockerfile.gNB.aerial.ubuntu24.sanitize-address @@ -63,8 +63,8 @@ ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ - DEBIAN_FRONTEND=noninteractive apt-get install --yes \ + apt-get upgrade --yes && \ + apt-get install --yes \ software-properties-common \ procps \ libsctp1 \ diff --git a/docker/Dockerfile.gNB.aw2s.ubuntu24 b/docker/Dockerfile.gNB.aw2s.ubuntu24 index ca87176258..70c3046508 100644 --- a/docker/Dockerfile.gNB.aw2s.ubuntu24 +++ b/docker/Dockerfile.gNB.aw2s.ubuntu24 @@ -43,8 +43,8 @@ ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ - DEBIAN_FRONTEND=noninteractive apt-get install --yes \ + apt-get upgrade --yes && \ + apt-get install --yes \ procps \ libsctp1 \ tzdata \ diff --git a/docker/Dockerfile.gNB.fhi72.ubuntu24 b/docker/Dockerfile.gNB.fhi72.ubuntu24 index c83da9004a..fb9d1d43f7 100644 --- a/docker/Dockerfile.gNB.fhi72.ubuntu24 +++ b/docker/Dockerfile.gNB.fhi72.ubuntu24 @@ -37,8 +37,8 @@ ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ - DEBIAN_FRONTEND=noninteractive apt-get install --yes \ + apt-get upgrade --yes && \ + apt-get install --yes \ software-properties-common \ procps \ pkg-config \ diff --git a/docker/Dockerfile.gNB.ubuntu24 b/docker/Dockerfile.gNB.ubuntu24 index 977c53083d..86fa6d8cbe 100644 --- a/docker/Dockerfile.gNB.ubuntu24 +++ b/docker/Dockerfile.gNB.ubuntu24 @@ -37,8 +37,8 @@ ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe/Paris RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ - DEBIAN_FRONTEND=noninteractive apt-get install --yes \ + apt-get upgrade --yes && \ + apt-get install --yes \ software-properties-common \ procps \ libsctp1 \ diff --git a/docker/Dockerfile.lteRU.ubuntu24 b/docker/Dockerfile.lteRU.ubuntu24 index 80bdaafa9d..de7107f7fd 100644 --- a/docker/Dockerfile.lteRU.ubuntu24 +++ b/docker/Dockerfile.lteRU.ubuntu24 @@ -36,8 +36,8 @@ ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe/Paris RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ - DEBIAN_FRONTEND=noninteractive apt-get install --yes \ + apt-get upgrade --yes && \ + apt-get install --yes \ tzdata \ procps \ software-properties-common \ diff --git a/docker/Dockerfile.lteUE.ubuntu24 b/docker/Dockerfile.lteUE.ubuntu24 index 5faa43f0ab..2b088ddf55 100644 --- a/docker/Dockerfile.lteUE.ubuntu24 +++ b/docker/Dockerfile.lteUE.ubuntu24 @@ -37,8 +37,8 @@ ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe/Paris RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ - DEBIAN_FRONTEND=noninteractive apt-get install --yes \ + apt-get upgrade --yes && \ + apt-get install --yes \ software-properties-common \ procps \ libsctp1 \ diff --git a/docker/Dockerfile.nr-cuup.ubuntu24 b/docker/Dockerfile.nr-cuup.ubuntu24 index e33fc508d0..2c3c58e7e3 100644 --- a/docker/Dockerfile.nr-cuup.ubuntu24 +++ b/docker/Dockerfile.nr-cuup.ubuntu24 @@ -36,8 +36,8 @@ ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ - DEBIAN_FRONTEND=noninteractive apt-get install --yes \ + apt-get upgrade --yes && \ + apt-get install --yes \ libsctp1 \ libconfig9 \ iproute2 \ diff --git a/docker/Dockerfile.nrUE.ubuntu24 b/docker/Dockerfile.nrUE.ubuntu24 index 061587f04b..94876e9e14 100644 --- a/docker/Dockerfile.nrUE.ubuntu24 +++ b/docker/Dockerfile.nrUE.ubuntu24 @@ -37,8 +37,8 @@ ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe/Paris RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \ - DEBIAN_FRONTEND=noninteractive apt-get install --yes \ + apt-get upgrade --yes && \ + apt-get install --yes \ software-properties-common \ procps \ libsctp1 \ From 52107508837d762196f83354c0c936bba346f539 Mon Sep 17 00:00:00 2001 From: Calvin Peyron Date: Wed, 25 Jun 2025 10:40:52 +0200 Subject: [PATCH 3/5] Fix warning tmp may be uninitialized leads to error --- openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c | 2 +- openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c index 12cbe867a4..5a80f04a21 100644 --- a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c +++ b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c @@ -997,7 +997,7 @@ uint8_t phy_threegpplte_turbo_decoder16(int16_t *y, #elif defined(__arm__) || defined(__aarch64__) int16x8_t *yp128; // int16x8_t tmp128[(n+8)>>3]; - int16x8_t tmp, zeros=vdupq_n_s16(0); + int16x8_t tmp = {}, zeros = {}; const uint16_t __attribute__ ((aligned (16))) _Powers[8]= { 1, 2, 4, 8, 16, 32, 64, 128}; uint16x8_t Powers= vld1q_u16(_Powers); diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c index 0180bed149..63ec8ade8e 100644 --- a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c +++ b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c @@ -930,7 +930,7 @@ uint8_t phy_threegpplte_turbo_decoder8(int16_t *y, #elif defined(__arm__) || defined(__aarch64__) int8x16_t *yp128; int8x16_t tmp128[(n+8)>>3]; - int8x16_t tmp, zeros=vdupq_n_s8(0); + int8x16_t tmp = {}, zeros = {}; const uint8_t __attribute__ ((aligned (16))) _Powers[16]= { 1, 2, 4, 8, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128 }; // Set the powers of 2 (do it once for all, if applicable) From 3a1be4895f655db815971e644583885a9c499157 Mon Sep 17 00:00:00 2001 From: Calvin Peyron Date: Thu, 26 Jun 2025 08:48:14 +0200 Subject: [PATCH 4/5] Rename ubuntuXX to ubuntu --- ci-scripts/cls_containerize.py | 6 +-- ci-scripts/cls_static_code_analysis.py | 2 +- ....ubuntu24 => Dockerfile.formatting.ubuntu} | 0 ...st.ubuntu24 => Dockerfile.unittest.ubuntu} | 0 .../local_common_overrides/build_images.yaml | 8 ++-- doc/Aerial_FAPI_Split_Tutorial.md | 4 +- doc/README.md | 2 +- doc/TESTBenches.md | 42 +++++++++---------- doc/cross-compile.md | 4 +- ...e.base.ubuntu24 => Dockerfile.base.ubuntu} | 0 ...m64 => Dockerfile.base.ubuntu.cross-arm64} | 0 ... Dockerfile.build.fhi72.native_arm.ubuntu} | 0 ...ubuntu24 => Dockerfile.build.fhi72.ubuntu} | 0 ...build.ubuntu24 => Dockerfile.build.ubuntu} | 0 ...64 => Dockerfile.build.ubuntu.cross-arm64} | 0 ...ile.eNB.ubuntu24 => Dockerfile.eNB.ubuntu} | 0 ....ubuntu24 => Dockerfile.gNB.aerial.ubuntu} | 0 ...erfile.gNB.aerial.ubuntu.sanitize-address} | 0 ...2s.ubuntu24 => Dockerfile.gNB.aw2s.ubuntu} | 0 ...2.ubuntu24 => Dockerfile.gNB.fhi72.ubuntu} | 0 ...ile.gNB.ubuntu24 => Dockerfile.gNB.ubuntu} | 0 ...lteRU.ubuntu24 => Dockerfile.lteRU.ubuntu} | 0 ...lteUE.ubuntu24 => Dockerfile.lteUE.ubuntu} | 0 ...uup.ubuntu24 => Dockerfile.nr-cuup.ubuntu} | 0 ...e.nrUE.ubuntu24 => Dockerfile.nrUE.ubuntu} | 0 docker/README.md | 16 +++---- tools/docker-dev-env/README.md | 2 +- tools/docker-dev-env/bootstrap.sh | 2 +- 28 files changed, 44 insertions(+), 44 deletions(-) rename ci-scripts/docker/{Dockerfile.formatting.ubuntu24 => Dockerfile.formatting.ubuntu} (100%) rename ci-scripts/docker/{Dockerfile.unittest.ubuntu24 => Dockerfile.unittest.ubuntu} (100%) rename docker/{Dockerfile.base.ubuntu24 => Dockerfile.base.ubuntu} (100%) rename docker/{Dockerfile.base.ubuntu24.cross-arm64 => Dockerfile.base.ubuntu.cross-arm64} (100%) rename docker/{Dockerfile.build.fhi72.native_arm.ubuntu24 => Dockerfile.build.fhi72.native_arm.ubuntu} (100%) rename docker/{Dockerfile.build.fhi72.ubuntu24 => Dockerfile.build.fhi72.ubuntu} (100%) rename docker/{Dockerfile.build.ubuntu24 => Dockerfile.build.ubuntu} (100%) rename docker/{Dockerfile.build.ubuntu24.cross-arm64 => Dockerfile.build.ubuntu.cross-arm64} (100%) rename docker/{Dockerfile.eNB.ubuntu24 => Dockerfile.eNB.ubuntu} (100%) rename docker/{Dockerfile.gNB.aerial.ubuntu24 => Dockerfile.gNB.aerial.ubuntu} (100%) rename docker/{Dockerfile.gNB.aerial.ubuntu24.sanitize-address => Dockerfile.gNB.aerial.ubuntu.sanitize-address} (100%) rename docker/{Dockerfile.gNB.aw2s.ubuntu24 => Dockerfile.gNB.aw2s.ubuntu} (100%) rename docker/{Dockerfile.gNB.fhi72.ubuntu24 => Dockerfile.gNB.fhi72.ubuntu} (100%) rename docker/{Dockerfile.gNB.ubuntu24 => Dockerfile.gNB.ubuntu} (100%) rename docker/{Dockerfile.lteRU.ubuntu24 => Dockerfile.lteRU.ubuntu} (100%) rename docker/{Dockerfile.lteUE.ubuntu24 => Dockerfile.lteUE.ubuntu} (100%) rename docker/{Dockerfile.nr-cuup.ubuntu24 => Dockerfile.nr-cuup.ubuntu} (100%) rename docker/{Dockerfile.nrUE.ubuntu24 => Dockerfile.nrUE.ubuntu} (100%) diff --git a/ci-scripts/cls_containerize.py b/ci-scripts/cls_containerize.py index d3168f60a3..a4e1ddea8b 100644 --- a/ci-scripts/cls_containerize.py +++ b/ci-scripts/cls_containerize.py @@ -298,7 +298,7 @@ class Containerize(): self.host = result.group(0) if self.host == 'Ubuntu': self.cli = 'docker' - self.dockerfileprefix = '.ubuntu24' + self.dockerfileprefix = '.ubuntu' self.cliBuildOptions = '' elif self.host == 'Red Hat': self.cli = 'sudo podman' @@ -337,7 +337,7 @@ class Containerize(): imageNames.append(('oai-gnb', 'gNB.fhi72', 'oai-gnb-fhi72', '')) result = re.search('build_cross_arm64', self.imageKind) if result is not None: - self.dockerfileprefix = '.ubuntu22.cross-arm64' + self.dockerfileprefix = '.ubuntu.cross-arm64' result = re.search('native_arm', self.imageKind) if result is not None: imageNames.append(('oai-gnb', 'gNB', 'oai-gnb', '')) @@ -625,7 +625,7 @@ class Containerize(): return False # build ran-unittests image - dockerfile = "ci-scripts/docker/Dockerfile.unittest.ubuntu24" + dockerfile = "ci-scripts/docker/Dockerfile.unittest.ubuntu" logfile = f'{lSourcePath}/cmake_targets/log/unittest-build.log' ret = cmd.run(f'docker build --progress=plain --tag ran-unittests:{baseTag} --file {dockerfile} . &> {logfile}') archiveArtifact(cmd, ctx, logfile) diff --git a/ci-scripts/cls_static_code_analysis.py b/ci-scripts/cls_static_code_analysis.py index 8b0ec05352..62e9416082 100644 --- a/ci-scripts/cls_static_code_analysis.py +++ b/ci-scripts/cls_static_code_analysis.py @@ -212,7 +212,7 @@ class StaticCodeAnalysis(): logDir = f'{lSourcePath}/cmake_targets/log/' cmd.run(f'mkdir -p {logDir}') cmd.run('docker image rm oai-formatting-check:latest') - cmd.run(f'docker build --target oai-formatting-check --tag oai-formatting-check:latest {check_options} --file {lSourcePath}/ci-scripts/docker/Dockerfile.formatting.bionic {lSourcePath} > {logDir}/oai-formatting-check.txt 2>&1') + cmd.run(f'docker build --target oai-formatting-check --tag oai-formatting-check:latest {check_options} --file {lSourcePath}/ci-scripts/docker/Dockerfile.formatting.ubuntu {lSourcePath} > {logDir}/oai-formatting-check.txt 2>&1') cmd.run('docker image rm oai-formatting-check:latest') cmd.run('docker image prune --force') diff --git a/ci-scripts/docker/Dockerfile.formatting.ubuntu24 b/ci-scripts/docker/Dockerfile.formatting.ubuntu similarity index 100% rename from ci-scripts/docker/Dockerfile.formatting.ubuntu24 rename to ci-scripts/docker/Dockerfile.formatting.ubuntu diff --git a/ci-scripts/docker/Dockerfile.unittest.ubuntu24 b/ci-scripts/docker/Dockerfile.unittest.ubuntu similarity index 100% rename from ci-scripts/docker/Dockerfile.unittest.ubuntu24 rename to ci-scripts/docker/Dockerfile.unittest.ubuntu diff --git a/ci-scripts/yaml_files/local_common_overrides/build_images.yaml b/ci-scripts/yaml_files/local_common_overrides/build_images.yaml index a771289ae4..d738ccb2ff 100644 --- a/ci-scripts/yaml_files/local_common_overrides/build_images.yaml +++ b/ci-scripts/yaml_files/local_common_overrides/build_images.yaml @@ -3,7 +3,7 @@ services: image: ran-base build: context: ../../../ - dockerfile: docker/Dockerfile.base.ubuntu22 + dockerfile: docker/Dockerfile.base.ubuntu tags: - ran-base @@ -11,7 +11,7 @@ services: image: ran-build build: context: ../../../ - dockerfile: docker/Dockerfile.build.ubuntu22 + dockerfile: docker/Dockerfile.build.ubuntu tags: - ran-build depends_on: @@ -22,7 +22,7 @@ services: image: gnb-local build: context: ../../../ - dockerfile: docker/Dockerfile.gNB.ubuntu22 + dockerfile: docker/Dockerfile.gNB.ubuntu tags: - gnb-local depends_on: @@ -35,7 +35,7 @@ services: image: ue-local build: context: ../../../ - dockerfile: docker/Dockerfile.nrUE.ubuntu22 + dockerfile: docker/Dockerfile.nrUE.ubuntu tags: - ue-local depends_on: diff --git a/doc/Aerial_FAPI_Split_Tutorial.md b/doc/Aerial_FAPI_Split_Tutorial.md index 1d8132e38d..4192a8689f 100644 --- a/doc/Aerial_FAPI_Split_Tutorial.md +++ b/doc/Aerial_FAPI_Split_Tutorial.md @@ -213,8 +213,8 @@ With the nvIPC sources in the project directory, the docker image can be built. In order to build the target image (`oai-gnb-aerial`), first you should build a common shared image (`ran-base`) ```bash ~$ cd ~/openairinterface5g/ -~/openairinterface5g$ docker build . -f docker/Dockerfile.base.ubuntu22 --tag ran-base:latest -~/openairinterface5g$ docker build . -f docker/Dockerfile.gNB.aerial.ubuntu22 --tag oai-gnb-aerial:latest +~/openairinterface5g$ docker build . -f docker/Dockerfile.base.ubuntu --tag ran-base:latest +~/openairinterface5g$ docker build . -f docker/Dockerfile.gNB.aerial.ubuntu --tag oai-gnb-aerial:latest ``` diff --git a/doc/README.md b/doc/README.md index 40f838750a..f3e30b57ce 100644 --- a/doc/README.md +++ b/doc/README.md @@ -138,4 +138,4 @@ The other SDRs (AW2S, LimeSDR, ...) have no READMEs. - [formatting](../tools/formatting/README.md) is a clang-format error detection tool - [iwyu](../tools/iwyu/README.md) is a tool to detect `#include` errors -- [docker-dev-env](../tools/docker-dev-env/README.md) is a ubuntu22 docker development environment +- [docker-dev-env](../tools/docker-dev-env/README.md) is a ubuntu24 docker development environment diff --git a/doc/TESTBenches.md b/doc/TESTBenches.md index 2e0a26b2f9..f6a77c2d09 100644 --- a/doc/TESTBenches.md +++ b/doc/TESTBenches.md @@ -88,8 +88,8 @@ information on how the images are built. - [RAN-ARM-Cross-Compile-Builder](https://jenkins-oai.eurecom.fr/job/RAN-ARM-Cross-Compile-Builder/) ~BUILD-ONLY ~4G-LTE ~5G-NR ~nrUE - orion: Cross-compilation from Intel to ARM - - base image from `Dockerfile.base.ubuntu22.cross-arm64` - - build image from `Dockerfile.build.ubuntu22.cross-arm64` (no target images) + - base image from `Dockerfile.base.ubuntu.cross-arm64` + - build image from `Dockerfile.build.ubuntu.cross-arm64` (no target images) - [RAN-cppcheck](https://jenkins-oai.eurecom.fr/job/RAN-cppcheck/) ~BUILD-ONLY ~4G-LTE ~5G-NR ~nrUE - bellatrix @@ -112,29 +112,29 @@ information on how the images are built. - build image from `Dockerfile.clang.rhel9` (compilation only, artifacts not used currently) - [RAN-Ubuntu18-Image-Builder](https://jenkins-oai.eurecom.fr/job/RAN-Ubuntu18-Image-Builder/) ~BUILD-ONLY ~4G-LTE ~5G-NR ~nrUE - - run formatting check from `ci-scripts/docker/Dockerfile.formatting.bionic` + - run formatting check from `ci-scripts/docker/Dockerfile.formatting.ubuntu` - obelix: Ubuntu 22 image build using docker (Note: builds U22 images while pipeline is named U18!) - - base image from `Dockerfile.base.ubuntu22` - - build image from `Dockerfile.build.ubuntu22`, followed by - - target image from `Dockerfile.eNB.ubuntu22` - - target image from `Dockerfile.gNB.ubuntu22` - - target image from `Dockerfile.nr-cuup.ubuntu22` - - target image from `Dockerfile.nrUE.ubuntu22` - - target image from `Dockerfile.lteUE.ubuntu22` - - target image from `Dockerfile.lteRU.ubuntu22` - - target image from `Dockerfile.gNB.aerial.ubuntu22` - - build image from `Dockerfile.build.fhi72.ubuntu22`, followed by - - target image from `Dockerfile.gNB.fhi72.ubuntu22` - - build unit tests from `ci-scripts/docker/Dockerfile.unittest.ubuntu22`, and run them + - base image from `Dockerfile.base.ubuntu` + - build image from `Dockerfile.build.ubuntu`, followed by + - target image from `Dockerfile.eNB.ubuntu` + - target image from `Dockerfile.gNB.ubuntu` + - target image from `Dockerfile.nr-cuup.ubuntu` + - target image from `Dockerfile.nrUE.ubuntu` + - target image from `Dockerfile.lteUE.ubuntu` + - target image from `Dockerfile.lteRU.ubuntu` + - target image from `Dockerfile.gNB.aerial.ubuntu` + - build image from `Dockerfile.build.fhi72.ubuntu`, followed by + - target image from `Dockerfile.gNB.fhi72.ubuntu` + - build unit tests from `ci-scripts/docker/Dockerfile.unittest.ubuntu`, and run them - [RAN-Ubuntu-ARM-Image-Builder](https://jenkins-oai.eurecom.fr/job/RAN-Ubuntu-ARM-Image-Builder/) ~BUILD-ONLY ~4G-LTE ~5G-NR - gracehopper3-oai: ARM Ubuntu 22 image build using docker - - base image from `Dockerfile.base.ubuntu22` - - build image from `Dockerfile.build.ubuntu22`, followed by - - target image from `Dockerfile.gNB.ubuntu22` - - target image from `Dockerfile.nr-cuup.ubuntu22` - - target image from `Dockerfile.nrUE.ubuntu22` - - target image from `Dockerfile.gNB.aerial.ubuntu22` + - base image from `Dockerfile.base.ubuntu` + - build image from `Dockerfile.build.ubuntu`, followed by + - target image from `Dockerfile.gNB.ubuntu` + - target image from `Dockerfile.nr-cuup.ubuntu` + - target image from `Dockerfile.nrUE.ubuntu` + - target image from `Dockerfile.gNB.aerial.ubuntu` #### Image Test pipelines diff --git a/doc/cross-compile.md b/doc/cross-compile.md index ae8dbe5209..79c4bae761 100644 --- a/doc/cross-compile.md +++ b/doc/cross-compile.md @@ -97,5 +97,5 @@ ninja params_libconfig coding rfsimulator # Further information You can do the above steps using docker, see dockerfiles -`docker/Dockerfile.base.ubuntu22.cross-arm64` and -`docker/Dockerfile.build.ubuntu22.cross-arm64` for more information. +`docker/Dockerfile.base.ubuntu.cross-arm64` and +`docker/Dockerfile.build.ubuntu.cross-arm64` for more information. diff --git a/docker/Dockerfile.base.ubuntu24 b/docker/Dockerfile.base.ubuntu similarity index 100% rename from docker/Dockerfile.base.ubuntu24 rename to docker/Dockerfile.base.ubuntu diff --git a/docker/Dockerfile.base.ubuntu24.cross-arm64 b/docker/Dockerfile.base.ubuntu.cross-arm64 similarity index 100% rename from docker/Dockerfile.base.ubuntu24.cross-arm64 rename to docker/Dockerfile.base.ubuntu.cross-arm64 diff --git a/docker/Dockerfile.build.fhi72.native_arm.ubuntu24 b/docker/Dockerfile.build.fhi72.native_arm.ubuntu similarity index 100% rename from docker/Dockerfile.build.fhi72.native_arm.ubuntu24 rename to docker/Dockerfile.build.fhi72.native_arm.ubuntu diff --git a/docker/Dockerfile.build.fhi72.ubuntu24 b/docker/Dockerfile.build.fhi72.ubuntu similarity index 100% rename from docker/Dockerfile.build.fhi72.ubuntu24 rename to docker/Dockerfile.build.fhi72.ubuntu diff --git a/docker/Dockerfile.build.ubuntu24 b/docker/Dockerfile.build.ubuntu similarity index 100% rename from docker/Dockerfile.build.ubuntu24 rename to docker/Dockerfile.build.ubuntu diff --git a/docker/Dockerfile.build.ubuntu24.cross-arm64 b/docker/Dockerfile.build.ubuntu.cross-arm64 similarity index 100% rename from docker/Dockerfile.build.ubuntu24.cross-arm64 rename to docker/Dockerfile.build.ubuntu.cross-arm64 diff --git a/docker/Dockerfile.eNB.ubuntu24 b/docker/Dockerfile.eNB.ubuntu similarity index 100% rename from docker/Dockerfile.eNB.ubuntu24 rename to docker/Dockerfile.eNB.ubuntu diff --git a/docker/Dockerfile.gNB.aerial.ubuntu24 b/docker/Dockerfile.gNB.aerial.ubuntu similarity index 100% rename from docker/Dockerfile.gNB.aerial.ubuntu24 rename to docker/Dockerfile.gNB.aerial.ubuntu diff --git a/docker/Dockerfile.gNB.aerial.ubuntu24.sanitize-address b/docker/Dockerfile.gNB.aerial.ubuntu.sanitize-address similarity index 100% rename from docker/Dockerfile.gNB.aerial.ubuntu24.sanitize-address rename to docker/Dockerfile.gNB.aerial.ubuntu.sanitize-address diff --git a/docker/Dockerfile.gNB.aw2s.ubuntu24 b/docker/Dockerfile.gNB.aw2s.ubuntu similarity index 100% rename from docker/Dockerfile.gNB.aw2s.ubuntu24 rename to docker/Dockerfile.gNB.aw2s.ubuntu diff --git a/docker/Dockerfile.gNB.fhi72.ubuntu24 b/docker/Dockerfile.gNB.fhi72.ubuntu similarity index 100% rename from docker/Dockerfile.gNB.fhi72.ubuntu24 rename to docker/Dockerfile.gNB.fhi72.ubuntu diff --git a/docker/Dockerfile.gNB.ubuntu24 b/docker/Dockerfile.gNB.ubuntu similarity index 100% rename from docker/Dockerfile.gNB.ubuntu24 rename to docker/Dockerfile.gNB.ubuntu diff --git a/docker/Dockerfile.lteRU.ubuntu24 b/docker/Dockerfile.lteRU.ubuntu similarity index 100% rename from docker/Dockerfile.lteRU.ubuntu24 rename to docker/Dockerfile.lteRU.ubuntu diff --git a/docker/Dockerfile.lteUE.ubuntu24 b/docker/Dockerfile.lteUE.ubuntu similarity index 100% rename from docker/Dockerfile.lteUE.ubuntu24 rename to docker/Dockerfile.lteUE.ubuntu diff --git a/docker/Dockerfile.nr-cuup.ubuntu24 b/docker/Dockerfile.nr-cuup.ubuntu similarity index 100% rename from docker/Dockerfile.nr-cuup.ubuntu24 rename to docker/Dockerfile.nr-cuup.ubuntu diff --git a/docker/Dockerfile.nrUE.ubuntu24 b/docker/Dockerfile.nrUE.ubuntu similarity index 100% rename from docker/Dockerfile.nrUE.ubuntu24 rename to docker/Dockerfile.nrUE.ubuntu diff --git a/docker/README.md b/docker/README.md index 36ec65698a..2249fb9c25 100644 --- a/docker/README.md +++ b/docker/README.md @@ -78,7 +78,7 @@ Targets can be: The currently-supported OS are: - `rhel9` for Red Hat Enterprise Linux and Openshift Universal Base Image -- `ubuntu22` for Ubuntu 22.04 LTS +- `ubuntu` for Ubuntu 24.04 LTS - `rocky` for Rocky-Linux 9 For more details regarding the build on an Openshift Cluster, see [OpenShift README](../openshift/README.md). @@ -99,11 +99,11 @@ There are two shared images: one that has all dependencies, and a second that co git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git cd openairinterface5g # default branch is develop, to change use git checkout -docker build --target ran-base --tag ran-base:latest --file docker/Dockerfile.base.ubuntu22 . +docker build --target ran-base --tag ran-base:latest --file docker/Dockerfile.base.ubuntu . # if you want use USRP, AW2S and RFSimulator radios -docker build --target ran-build --tag ran-build:latest --file docker/Dockerfile.build.ubuntu22 . +docker build --target ran-build --tag ran-build:latest --file docker/Dockerfile.build.ubuntu . # if you want to use front-haul 7.2 and RFSimulator radios -docker build --tag ran-build-fhi72:latest --file docker/Dockerfile.build.fhi72.ubuntu22 . +docker build --tag ran-build-fhi72:latest --file docker/Dockerfile.build.fhi72.ubuntu . ``` After building: @@ -126,7 +126,7 @@ This is only available for the Ubuntu version of Dockerfiles. You can, for example, create a `sanitizer` version of the ran-build image. ```bash -docker build --target ran-build --tag ran-build:latest --file docker/Dockerfile.build.ubuntu22 --build-arg "BUILD_OPTION=--sanitize" . +docker build --target ran-build --tag ran-build:latest --file docker/Dockerfile.build.ubuntu --build-arg "BUILD_OPTION=--sanitize" . ``` Currently the `--sanitize` option for `build_oai` enables: @@ -152,13 +152,13 @@ You can also use this docker build arguments to pass any available option(s) on For example, the eNB: ```bash -docker build --target oai-enb --tag oai-enb:latest --file docker/Dockerfile.eNB.ubuntu22 . +docker build --target oai-enb --tag oai-enb:latest --file docker/Dockerfile.eNB.ubuntu . ``` To build gNB/DU with 7.2 fronthaul support: ```bash -docker build --target oai-gnb-fhi72 --tag oai-gnb-fhi72:latest --file docker/Dockerfile.gNB.fhi72.ubuntu22 . +docker build --target oai-gnb-fhi72 --tag oai-gnb-fhi72:latest --file docker/Dockerfile.gNB.fhi72.ubuntu . ``` After a while: @@ -182,7 +182,7 @@ Note that the steps are identical for `rocky-linux`. If you have used the sanitizer option, then you should also pass it when building the target image: ```bash -docker build --target oai-gnb --tag oai-gnb:latest --file docker/Dockerfile.gNB.ubuntu22 --build-arg "BUILD_OPTION=--sanitize" . +docker build --target oai-gnb --tag oai-gnb:latest --file docker/Dockerfile.gNB.ubuntu --build-arg "BUILD_OPTION=--sanitize" . ``` Normally the target image will be around 200 Mbytes bigger. diff --git a/tools/docker-dev-env/README.md b/tools/docker-dev-env/README.md index 5dcb15eb5c..63bd598725 100644 --- a/tools/docker-dev-env/README.md +++ b/tools/docker-dev-env/README.md @@ -2,7 +2,7 @@ ## Description -This contains bash scripts for managing a ubuntu22 dockerized development enviroment for OAI. No need to install any +This contains bash scripts for managing a ubuntu24 dockerized development enviroment for OAI. No need to install any tools on host machines except for docker - `bootstrap.sh` - build development environment image and install the following bash aliases in `~/.bash_aliases`: diff --git a/tools/docker-dev-env/bootstrap.sh b/tools/docker-dev-env/bootstrap.sh index 8c21554dcf..e56be3fa91 100755 --- a/tools/docker-dev-env/bootstrap.sh +++ b/tools/docker-dev-env/bootstrap.sh @@ -11,7 +11,7 @@ fi if ! docker images | grep -q "ran-base"; then echo "ran-base:latest image not found. Building the image..." - docker build -f ../../docker/Dockerfile.base.ubuntu22 -t ran-base:latest ../../ + docker build -f ../../docker/Dockerfile.base.ubuntu -t ran-base:latest ../../ else echo "ran-base:latest image found." fi From 12cf0155251bd96cd58fe85cc0f5ee75c48f76bf Mon Sep 17 00:00:00 2001 From: calvin_peyron Date: Thu, 24 Jul 2025 14:37:42 +0200 Subject: [PATCH 5/5] "as" should be in capital letters --- docker/Dockerfile.gNB.aw2s.ubuntu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.gNB.aw2s.ubuntu b/docker/Dockerfile.gNB.aw2s.ubuntu index 70c3046508..b55977dfab 100644 --- a/docker/Dockerfile.gNB.aw2s.ubuntu +++ b/docker/Dockerfile.gNB.aw2s.ubuntu @@ -38,7 +38,7 @@ RUN /bin/sh oaienv && \ ./build_oai -w AW2SORI -t Ethernet #start from scratch for target executable -FROM ubuntu:noble as oai-gnb-aw2s +FROM ubuntu:noble AS oai-gnb-aw2s ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe