OAI comes with an automated build script (beta version) located at the root of the cmake_targets directory. Currently, the tool is developed to build the eNB for different hardware platforms, 3GPP releases, standalone or with S1 interface, unitary simulations, and system simulation.
The build system for OAI uses cmake which auto-generates makefiles.
eNB Build Examples
git clone https://gitlab.eurecom.fr/oai/openairinterface5g.gitcd YOUR_openairinterface5g_DIRECTORYsource oaienv #Very important. It sets the correct environment variables.cd cmake_targets./build_oai -I#need to run only once./build_oai -h#for more options
Important notes regarding UHD installation or some other RF driver installation.**
The code currently support variety of RF targets (USRP, EXMIMO, LMSSDR, BladeRF) and we calibrate RF output power/received power from different SDR platforms using R&S CMW/Agilent devices. The version of the drivers can make lot of difference in the performance of openairinterface. So, we do not recommend installation of RF drivers from sources. Always install the drivers from the build_oai scripts and make sure there is no other driver version installed to avoid conflicts. The UHD version that we have tested is (3.9.2/3.9.3/3.9.4).
Please be sure to remove any USRP/UHD driver installation installed from source or if it is not installed via launchpad ppa. The OAI packages will always install only the latest USRP driver from launchpad. If you end up having multiple USRP driver installations, viz installed from source and via Launchpad, then very strange things with happen with USRP and your installation of USRP driver will get corrupted. If you wish to keep USRP driver installation from source, then do not pass -w USRP option to installer scripts above. This is especiallly try if you have gnuradio installed as it installs USRP from source
Building the EPC modules (older version tag v0.3.2)
git clone https://gitlab.eurecom.fr/oai/openair-cn.gitcd YOUR_openair-cn_DIRECTORYgit checkout v0.3.2cd SCRIPTS./build_epc -i#Need to run only once to install missing packages./build_hss -i#Need to run only once to install missing packages
Building the EPC modules (newer version latest develop/master branch)
git clone https://gitlab.eurecom.fr/oai/openair-cn.gitcd YOUR_openair-cn_DIRECTORYcd SCRIPTS./build_mme -i#Need to run only once to install missing packages./build_hss -i#Need to run only once to install missing packages./build_spgw -i#Need to run only once
The detailed instructions for EPC are located in: YOUR_openair-cn_DIRECTORY/DOCS/EPC_User_Guide.pdf
Building Older Releases
The older releases of OAI (0.1, 0.2) use an older build system located in targets/ durectory. This build system is deprecated and should not be used unless you want to compile older releases. The instructions to compile older releases (0.1, 0.2) are located here.