Centos7.9 소스 코드 컴파일 및 dpdk 설치

  최근 Centos7.9의 소스 코드에서 dpdk-21.11.2를 컴파일하고 설치해야 하며 dpdk의 설치 디렉터리는 /opt/라는 요구 사항이 발생했습니다. 설치 과정이 비교적 복잡해서 나중에 참고할 수 있도록 기록해 두겠습니다.

관련 구성 매개변수
컴파일러 환경 가상 머신 Centos7.9
커널 버전 3.10.0-957
DPDK 버전 21.11.2

  DPDK는 INTEL이 개발한 고성능 네트워크 드라이버 구성 요소로, 데이터 플레인 애플리케이션을 위한 간단하고 편리하며 완벽하고 빠른 패킷 처리 솔루션을 제공하는 것을 목표로 하며 주요 기술에는 사용자 모드, 인터럽트 대신 폴링, 제로 복사, 네트워크 카드가 포함됩니다. RSS, 메모리 액세스 DirectIO 등 기타 정보는 Baidu에서 확인할 수 있습니다.

1. 컴파일 환경 준비

1. 관련 종속성 패키지를 설치합니다.

  DPDK는 버전 20 이후에는 meson과 ninja를 사용하여 컴파일하고 설치해야 합니다.

(1) pip3 환경 설치

yum install python3 python3-pip
pip3 install --upgrade pip

(2) 메손 설치

pip3 install meson

(3) 닌자 설치

pip3 install ninja

참고: WARNING: The script ninja is install in '/usr/local/bin' which is not on PATH. 메시지가 나타나면 환경 변수를 추가해야 합니다.
vim /etc/profile
끝에 내보내기 PATH="/usr/local/bin:$PATH" 추가

(4) pyelftools 설치

pip3 install pyelftools
pip3 install ninja

2. dpdk 소스코드 설치 패키지를 다운로드합니다.

공식 홈페이지 다운로드 링크: http://core.dpdk.org/download/
여기에 이미지 설명을 삽입하세요. 버전 21.11.2의 해당 소스코드 패키지를 다운로드한 후, 서버의 지정된 위치에 업로드하세요. 여기 편집자가 /opt/에 업로드했습니다.

2. 컴파일, 설치 및 테스트

(1) 컴파일 및 설치

cd /opt/
tar zxf dpdk-stable-21.11.2.tar.gz
cd dpdk-stable-21.11.2/

export DPDK_DIR=/opt/dpdk-stable-21.11.2
export DPDK_BUILD=$DPDK_DIR/build

#查看配置
meson configure
meson build --prefix=/opt/
ninja -C build
DESTDIR=/opt/ ninja -C build install
ldconfig

export PKG_CONFIG_PATH=/opt/lib64/pkgconfig

(2) 설치 성공 여부 테스트

설치가 성공한 후 명령을 입력하면 해당 버전 번호 정보가 표시되며 이는 설치가 성공했음을 의미합니다.

pkg-config --modversion libdpdk

여기에 이미지 설명을 삽입하세요.

(3) 테스트 샘플 실행

helloworld 샘플을 컴파일하고 실행합니다.

#根据自己的安装路径去找到对应的helloworld测试样例
/opt/dpdk-stable-21.11.2/examples/helloworld  
make
./build/helloworld --no-huge 

성공을 나타내는 다음 그림이 나타납니다.
여기에 이미지 설명을 삽입하세요.

3. 일반적인 문제 및 해결 방법

1、报错:buildtools/meson.build:49:8: 오류: 문제 발생: python 모듈 누락: elftools

해결책: pip3 설치 pyelftools && pip3 설치 닌자

2、报错: go meson_options.txt:7:0: 오류: 알 수 없는 유형 기능입니다.

해결책: pip3 install --user meson $ import PATH=~/.local/bin:$PATH

추천

출처blog.csdn.net/fish332/article/details/129119709