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 \