Centos7.9のソースコードのコンパイルとdpdkのインストール

  最近、Centos7.9 上のソース コードから dpdk-21.11.2 をコンパイルしてインストールする必要があるという要件に遭遇しました。dpdk のインストール ディレクトリは /opt/ です。インストールプロセスは比較的複雑なので、今後の参考のために記録しておきます。

関連する設定 パラメータ
コンパイラ環境 仮想マシン Centos7.9
カーネルのバージョン 3.10.0-957
dpdkバージョン 21.11.2

  DPDK はインテルによって開発された高性能ネットワーク ドライバー コンポーネントです。データ プレーン アプリケーションにシンプル、便利、完全かつ高速なパケット処理ソリューションを提供することを目的としています。主なテクノロジには、ユーザー モード、割り込みの代わりにポーリング、ゼロ コピー、ネットワーク カードが含まれますRSS、メモリアクセスDirectIOなど その他の情報は百度でご覧いただけます。

1. コンパイル環境を準備する

1. 関連する依存関係パッケージをインストールします。

  DPDK は、バージョン 20 以降では、meson と ninja を使用してコンパイルし、インストールする必要があります。

(1) pip3環境のインストール

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

(2)中間子をインストールする

pip3 install meson

(3) Ninjaのインストール

pip3 install ninja

注:「警告: スクリプト ninja は PATH 上にない '/usr/local/bin' にインストールされています。」が表示される場合は、環境変数を追加する必要があります。
vim /etc/profile
の最後に、export PATH="/usr/local/bin:$PATH" を追加します。

(4) pylftoolsをインストールする

pip3 install pyelftools
pip3 install ninja

2. dpdk ソース コード インストール パッケージをダウンロードします。

公式 Web サイトのダウンロード リンク: 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 install pyelftools && pip3 install ninja

2、报错: go meson_options.txt:7:0: エラー: 不明なタイプの機能。

解決策: pip3 install --user meson $export PATH=~/.local/bin:$PATH

おすすめ

転載: blog.csdn.net/fish332/article/details/129119709