[①FlexRan]: fhi

小明 2025-05-02 08:35:30 6

���篇博客是对Intel FlexRan中前传库fhi_lib编译过程的记录,记录下遇到的几个问题。编译流程可以参照https://docs.o-ran-sc.org/projects/o-ran-sc-o-du-phy/en/latest/build_prerequisite.html

()

https://docs.o-ran-sc.org/projects/o-ran-sc-o-du-phy/en/latest/run_l1.html#build-fh。编译fhi_lib的主要前提有:安装intel compiler,安装 DPDK和安装google test。

  1. fhi_lib的build.sh文件里默认使用的compiler是intel的icc或者icx,对应需要安装的软件是:

    - Intel® oneAPI - x86_64-native-linuxapp-icx

    ()

    - Intel® System Studio - x86_64-native-linuxapp-icc

    首先尝试下安装System Studio,但是使用Build Prerequisite参考文档中提供的community license貌似不可用了。不使用 slient.cfg直接用./install.sh命令启动安装程序,在license中使用提供的serial number CG7X-J7B6G8WS也不支持。所以尝试安装oneAPI。

    FlexRan中默认的是用wget命令下载2022版本的oneAPI:

wget https://registrationcenter-download.intel.com/akdlm/irc_nas/18673/l_BaseKit_p_2022.2.0.262_offline.sh

但是尝试了几次,下载都不成功,所以通过官方网站:https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html?operatingsystem=linux&distributions=webdownload&options=offline下载了最新的2024版本然后安装:

wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/163da6e4-56eb-4948-aba3-debcec61c064/l_BaseKit_p_2024.0.1.46_offline.sh
sudo sh ./l_BaseKit_p_2024.0.1.46_offline.sh

安装时有很多组件可供选择,为了支持FlexRan以下组件是必要的:

Intel® Math Kernel Library,Intel® Integrated Performance Primitives和Intel® C++ Compiler。安装完成后需要更新环境变量,运行:

source /opt/intel/oneapi/setvars.sh
  1. 安装DPDK,FlexRan默认使用的版本是20.11.3,首先需要设置些环境变量,如果使用icx的话:
export RTE_TARGET=x86_64-native-linuxapp-icx
export WIRELESS_SDK_TOOLCHAIN=icx
source /opt/intel/oneapi/setvars.sh
export PATH=$PATH://opt/intel/oneapi/compiler/2024.0/bin
  1. 在运行fhi_lib的build.sh文件的时候,它是通过pkgconfig的方法引入DPDK的头文件,在build.sh中默认写的是:
RTE_INC := $(shell PKG_CONFIG_PATH=/usr/lib64/pkgconfig:$(RTE_SDK)/build/meson-uninstalled pkgconf --cflags-only-I libdpdk)

可能因为FlexRan默认使用的是CentOS的系统,但是博主是在Ubuntu中进行尝试,所以需要将这段改成:

RTE_INC := $(shell PKG_CONFIG_PATH=/usr/lib/pkgconfig:$(RTE_SDK)/build/meson-uninstalled pkg-config --cflags-only-I libdpdk)

这样才能在编译fhi_lib时找到DPDK的头文件。

  1. 关于编译fhi_lib可能需要设置的环境变量汇总:
export DIR_ROOT=/home/        # user self defined
export RTE_TARGET=x86_64-native-linuxapp-icx
export WIRELESS_SDK_TOOLCHAIN=icx
source /opt/intel/oneapi/setvars.sh
export PATH=$PATH://opt/intel/oneapi/compiler/2024.0/bin
export RTE_SDK=$DIR_ROOT/dpdk-stable-20.11.3
export DESTDIR=$DIR_ROOT/dpdk-stable-20.11.3
export DIR_ROOT_DPDK=$DIR_ROOT/dpdk-stable-20.11.3
#export PKG_CONFIG_PATH=/usr/lib/pkgconfig:$DIR_ROOT/dpdk-stable-20.11.3/build/meson-uninstalled
export XRAN_DIR=$DIR_ROOT/fhi_lib
export XRAN_LIB_SO=true
export GTEST_DIR=$DIR_ROOT/gtest-1.7.0
export GTEST_ROOT=$GTEST_DIR
export DIR_ROOT_GTEST=$DIR_ROOT/gtest-1.7.0
export DEBUG_MODE=true
The End
微信