Merge remote-tracking branch 'origin/ubuntu24-docker-images' into integration_2025_w33 (!3492)
Upgrade CI images to Ubuntu 24 The MR upgrade the docker files from Jammy(22.04) to Noble(24.04).
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 = '.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.ubuntu22"
|
||||
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)
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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
|
||||
|
||||
+4
-4
@@ -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
|
||||
@@ -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
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@
|
||||
#---------------------------------------------------------------------
|
||||
#
|
||||
# Dockerfile for the Open-Air-Interface BUILD service
|
||||
# Valid for Ubuntu 22.04
|
||||
# Valid for Ubuntu 24.04
|
||||
#
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+21
-21
@@ -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
|
||||
|
||||
|
||||
@@ -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 \
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
@@ -36,16 +36,13 @@ 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 \
|
||||
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
|
||||
+16
-15
@@ -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:
|
||||
@@ -34,22 +34,23 @@ 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/ 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 \
|
||||
apt-get upgrade --yes && \
|
||||
apt-get install --yes \
|
||||
build-essential \
|
||||
psmisc \
|
||||
git \
|
||||
@@ -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
|
||||
+4
-6
@@ -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
|
||||
#
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
@@ -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 \
|
||||
@@ -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
|
||||
#
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
@@ -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 \
|
||||
@@ -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,25 +31,25 @@ 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
|
||||
|
||||
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 \
|
||||
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,13 +59,13 @@ 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
|
||||
|
||||
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 \
|
||||
+4
-4
@@ -21,7 +21,7 @@
|
||||
#---------------------------------------------------------------------
|
||||
#
|
||||
# Dockerfile for the Open-Air-Interface BUILD service
|
||||
# Valid for Ubuntu 22.04
|
||||
# Valid for Ubuntu 24.04
|
||||
#
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
@@ -58,13 +58,13 @@ 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
|
||||
|
||||
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 \
|
||||
@@ -21,7 +21,7 @@
|
||||
#---------------------------------------------------------------------
|
||||
#
|
||||
# Dockerfile for the Open-Air-Interface BUILD service
|
||||
# Valid for Ubuntu 22.04
|
||||
# Valid for Ubuntu 24.04
|
||||
#
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
@@ -38,13 +38,13 @@ 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
|
||||
|
||||
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 \
|
||||
@@ -21,7 +21,7 @@
|
||||
#---------------------------------------------------------------------
|
||||
#
|
||||
# Dockerfile for the Open-Air-Interface 7.2 Fronthaul
|
||||
# Valid for Ubuntu22.04
|
||||
# Valid for Ubuntu24.04
|
||||
#
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
@@ -31,14 +31,14 @@ 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
|
||||
|
||||
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 \
|
||||
@@ -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,25 +31,25 @@ 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
|
||||
|
||||
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 \
|
||||
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,16 +31,24 @@ 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
|
||||
|
||||
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 \
|
||||
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,25 +31,25 @@ 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
|
||||
|
||||
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 \
|
||||
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,14 +30,14 @@ 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
|
||||
|
||||
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 \
|
||||
@@ -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,25 +31,25 @@ 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
|
||||
|
||||
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 \
|
||||
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 \
|
||||
+8
-8
@@ -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 <BRANCH>
|
||||
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.
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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`:
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user