DPDK 通过管理器安装pkg-config
。我使用以下命令从源代码构建:
git clone https://github.com/DPDK/dpdk.git
cd dpdk
meson setup build
cd build
ninja
ninja install
ldconfig
https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html
但是,它安装到了/usr/local/lib/x86_64-linux-gnu/pkgconfig
。相比之下,我的所有其他包都位于/usr/lib/x86_64-linux-gnu/pkgconfig
。
因此pkg-config --list-all
找不到我的 DPDK 包。
我甚至设置PKG_CONFIG_PATH
并重/usr/lib/x86_64-linux-gnu/pkgconfig
试,但它仍然安装到相同的路径。
有人可以确认这是否是 Ubuntu 的问题以及应如何将其与其他软件包一起正确安装?
有没有更简单的方法通过 Ubuntu 包管理器安装 DPDK?我找不到。
答案1
您没有“DPDK 软件包”。您从源代码构建了软件,并使用非 Debian 工具 (ninja) 安装了它。这不符合软件包的最低定义。
你可以用这种方式安装软件,但不是错误的. 这不是一个包裹。
对于像 Ubuntu 这样的基于 Debian 的系统,你的忍者将 DPDK 安装到正确的位置。
/usr/local
适用于非 deb 软件,包括您自己从源代码构建的软件。/usr/lib
适用于 deb 软件包提供的软件(您的软件包不是)
很明显,你被 DPDK 文档误导了,认为从源代码构建是最好的安装方式。
它不是。
该dpdk
软件包已在 Ubuntu 存储库中存在多年。
让我们看看如何在 22.10 系统中找到它:(提示:这是第一个结果)
您将获得任何受支持的 Ubuntu 版本的类似结果。
$ apt search dpdk | grep dpdk
dpdk/kinetic 21.11.2-0ubuntu1 amd64
dpdk-dev/kinetic 21.11.2-0ubuntu1 amd64
dpdk-doc/kinetic,kinetic 21.11.2-0ubuntu1 all
dpdk-kmods-dkms/kinetic 0~20220111+git-1ubuntu1 amd64
libdpdk-dev/kinetic 21.11.2-0ubuntu1 amd64
libuhd4.2.0-dpdk/kinetic 4.2.0.1+ds1-1 amd64
libuhd4.2.0-dpdk-tests/kinetic 4.2.0.1+ds1-1 amd64
openvswitch-switch-dpdk/kinetic-updates,kinetic-security 3.0.3-0ubuntu0.22.10.2 amd64
接下来,我们检查一下包裹描述,以验证该dpdk
包裹是否真的是我们想要的:
$ apt show dpdk
[... snip ...]
Description: Data Plane Development Kit (runtime)
DPDK is a set of libraries for fast packet processing. Applications run
in user-space and communicate directly with dedicated network interfaces.
.
This package contains the runtime environment to run DPDK applications.
好的,如果匹配,那么安装有两个步骤:
- (可选)删除手动安装的重复项以避免混淆。
sudo apt install dpdk