---
# System prepended metadata

title: OAI O-RAN with E2 Installation

---

# 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)