mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-13 04:30:28 +00:00
The existing patch (generated through sed) works also in UHD versions beyond 4.8, so allow to use that. Further, since sed is confusing, store the patch directly. Update the dockerfiles so that docker copies the right file for UHD 4.8. Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
77 lines
2.3 KiB
Docker
77 lines
2.3 KiB
Docker
# SPDX-License-Identifier: LicenseRef-CSSL-1.0
|
|
|
|
#---------------------------------------------------------------------
|
|
#
|
|
# Dockerfile for the Open-Air-Interface BUILD service
|
|
# Valid for Ubuntu 24.04
|
|
#
|
|
#---------------------------------------------------------------------
|
|
|
|
|
|
ARG UBUNTU_IMAGE=ubuntu:noble
|
|
FROM ${UBUNTU_IMAGE} AS ran-base
|
|
|
|
ARG NEEDED_GIT_PROXY
|
|
ARG TARGETARCH
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
ENV TZ=Europe/Paris
|
|
ENV BUILD_UHD_FROM_SOURCE=True
|
|
ENV UHD_VERSION=4.8.0.0
|
|
|
|
#install developers pkg/repo
|
|
RUN apt-get update && \
|
|
apt-get upgrade --yes && \
|
|
apt-get install --yes \
|
|
#gcc needed for build_oai
|
|
build-essential \
|
|
ccache \
|
|
psmisc \
|
|
git \
|
|
xxd \
|
|
libpcre2-dev \
|
|
python3-dev \
|
|
bison \
|
|
flex \
|
|
m4 \
|
|
# libzstd-dev for ClickHouse C++ library
|
|
libzstd-dev \
|
|
# python3-pip for conf template generation
|
|
python3-pip \
|
|
wget \
|
|
flatbuffers-compiler \
|
|
libflatbuffers-dev \
|
|
libnanomsg-dev \
|
|
libzmq3-dev && \
|
|
# --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
|
|
ENV TINI_VERSION=v0.19.0
|
|
RUN wget https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-${TARGETARCH} -O /tini && chmod +x /tini
|
|
|
|
ENV YQ_VERSION=v4.2.0
|
|
RUN wget https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_linux_${TARGETARCH} -O /usr/local/bin/yq &&\
|
|
chmod +x /usr/local/bin/yq
|
|
|
|
# In some network environments, GIT proxy is required
|
|
RUN /bin/bash -c "if [[ -v NEEDED_GIT_PROXY ]]; then git config --global http.proxy $NEEDED_GIT_PROXY; fi"
|
|
|
|
# Copying only the needed files to create ran-base
|
|
WORKDIR /oai-ran/cmake_targets/tools
|
|
COPY cmake_targets/tools/build_helper \
|
|
cmake_targets/tools/uhd-4.5plus-tdd-patch.diff \
|
|
./
|
|
|
|
WORKDIR /oai-ran/cmake_targets
|
|
COPY cmake_targets/build_oai .
|
|
|
|
WORKDIR /oai-ran
|
|
COPY oaienv .
|
|
|
|
#run build_oai -I to get the builder image
|
|
RUN /bin/sh oaienv && \
|
|
cd cmake_targets && \
|
|
mkdir -p log && \
|
|
./build_oai -I -w USRP -w BLADERF --install-optional-packages
|