# SPDX-License-Identifier: LicenseRef-CSSL-1.0 #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface RAN Build for FHI 7.2 # Valid for UBUNTU 24.04 # #--------------------------------------------------------------------- FROM ran-base:latest AS ran-base ARG E2AP_VERSION=E2AP_V3 ARG KPM_VERSION=KPM_V3_00 ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe RUN apt-get update && \ apt-get upgrade --yes && \ apt-get install --yes \ meson \ wget \ xz-utils \ pkg-config \ libnuma-dev && \ rm -rf /var/lib/apt/lists/* RUN rm -Rf /oai-ran WORKDIR /oai-ran COPY . . ## Download and build DPDK RUN wget http://fast.dpdk.org/rel/dpdk-20.11.9.tar.xz && \ tar -xvf dpdk-20.11.9.tar.xz && \ cd dpdk-stable-20.11.9 && \ meson build && \ ninja -C build && \ ninja install -C build ## Build Fronthaul library RUN git clone https://github.com/openairinterface/o-du-phy.git /opt/phy && \ cd /opt/phy && \ git checkout oran_f_release_v1.0 &&\ git apply /oai-ran/cmake_targets/tools/oran_fhi_integration_patches/F/oaioran_F.patch && \ cd /opt/phy/fhi_lib/lib && \ WIRELESS_SDK_TOOLCHAIN=gcc RTE_SDK=/oai-ran/dpdk-stable-20.11.9/ XRAN_DIR=/opt/phy/fhi_lib make XRAN_LIB_SO=1 FROM ran-base AS ran-build-fhi72 ## Build and install OAI #run build_oai to build the target image RUN /bin/sh oaienv && \ cd cmake_targets && \ mkdir -p log && \ ./build_oai \ --ninja --gNB --nrRU \ --build-lib "telnetsrv enbscope uescope nrscope" \ -t oran_fhlib_5g --cmake-opt -Dxran_LOCATION=/opt/phy/fhi_lib/lib \ --build-e2 --cmake-opt -DKPM_VERSION=$KPM_VERSION --cmake-opt -DE2AP_VERSION=$E2AP_VERSION && \ # Mainly to see if the sanitize option was perfectly executed ldd ran_build/build/nr-softmodem && \ ldd ran_build/build/liboran_fhlib_5g.so && \ ldd /opt/phy/fhi_lib/lib/build/libxran.so ## Build FlexRIC for SM Models 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 .. && \ ninja && \ ninja install