# OAI O-RAN with E2 Installation [TOC] --- ## Definition ## System Requirements | System |Requirement | |:--------:|:----: | | OS | Ubuntu 20.04 LTS | | Storage | >= 100 GB | | RAM | >= 8 GB | | CPU Core | >= 8 | | Support Avx | `grep -o 'avx[^ ]*' /proc/cpuinfo` | ![image](https://hackmd.io/_uploads/BJRLFYF_gx.png =270x) ## Install Dependecies ```bash! sudo apt update && sudo apt upgrade -y sudo apt-get install libmkl-dev libmkl-avx2 sudo apt install -y build-essential cmake ninja-build \ pkg-config libfftw3-dev libmbedtls-dev \ libboost-all-dev libgmp-dev libzmq3-dev \ libhiredis-dev libsctp-dev libcurl4-openssl-dev \ libgnutls28-dev libpcre3-dev libblas-dev \ liblapack-dev python3 python3-pip # Install gcc & g++ 13 sudo apt install -y gcc-13 g++-13 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100 gcc --version g++ --version ``` ## Clone the Repository We will use the [**2025w12**](https://gitlab.eurecom.fr/oai/openairinterface5g/-/tree/2025.w12) version of OAI. ```bash! git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git cd ~/openairinterface5g git checkout 2025.w12 source oaienv ``` ## Install OAI Dependencies ```bash! cd cmake_targets sudo ./build_oai -I ``` ![image](https://hackmd.io/_uploads/B1X6guB_xg.png =400x) ## Build UEs and gNodeB Executables **First**, change the yaml-cpp configuration: ```bash! sudo nano ~/openairinterface5g/common/config/yaml/CMakeLists.txt ``` Change the file: ![image](https://hackmd.io/_uploads/S1ZOD-wOgl.png =600x) ```text! find_package(yaml-cpp REQUIRED) if (TARGET yaml-cpp) set_target_properties(yaml-cpp PROPERTIES IMPORTED_GLOBAL TRUE) endif() if (NOT TARGET yaml-cpp::yaml-cpp) add_library(yaml-cpp::yaml-cpp ALIAS yaml-cpp) endif() ``` Then, **Build the gNB, nrUE, and E2 Interface**. ```bash! sudo ./build_oai -w SIMU --gNB --nrUE --build-e2 --ninja ``` ![image](https://hackmd.io/_uploads/r1jf8buOxg.png =600x)