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
This commit is contained in:
@@ -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)
|
||||
|
||||
+2
-2
@@ -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
|
||||
+1
-1
@@ -21,7 +21,7 @@
|
||||
#---------------------------------------------------------------------
|
||||
#
|
||||
# Dockerfile for the Open-Air-Interface BUILD service
|
||||
# Valid for Ubuntu 22.04
|
||||
# Valid for Ubuntu 24.04
|
||||
#
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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
|
||||
+13
-12
@@ -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
|
||||
+2
-4
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
+1
-1
@@ -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
|
||||
#
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
@@ -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 ./
|
||||
@@ -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
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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/*
|
||||
@@ -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 ./
|
||||
@@ -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 && \
|
||||
@@ -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 \
|
||||
@@ -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
|
||||
|
||||
@@ -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 \
|
||||
Reference in New Issue
Block a user