首页 > 解决方案 > 如何使 pkg-config 找到 libpcap

问题描述

我正在尝试调整需要libpcap安装的软件的依赖关系,但由于某种原因它找不到它。

该软件用于pkg-config尝试查找依赖项libpcap,我可以看到libpcap-dev已安装,因此libpcap0.8

dpkg -s libpcap-dev:

Package: libpcap-dev
Status: install ok installed
Priority: optional
Section: libdevel
Installed-Size: 34
Maintainer: Romain Francoise <rfrancoise@debian.org>
Architecture: armhf
Multi-Arch: same
Source: libpcap
Version: 1.8.1-6
Depends: libpcap0.8-dev

dpkg -s libpcap0.8

Package: libpcap0.8
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 286
Maintainer: Romain Francoise <rfrancoise@debian.org>
Architecture: armhf
Multi-Arch: same
Source: libpcap
Version: 1.8.1-6
Replaces: libpcap0.8-dev (<< 1.0.0-2)
Depends: libc6 (>= 2.11)

我还可以看到共享库存在ldconfig -p | grep libpcap

    libpcap.so.0.8 (libc6,hard-float) => /lib/arm-linux-gnueabihf/libpcap.so.0.8
    libpcap.so (libc6,hard-float) => /lib/arm-linux-gnueabihf/libpcap.so

但是pkg-config --modversion libpcap还是找不到。我还查找了所有$PKG_DIR_PATH可用的,它们都没有libpcap.pc配置文件。

这就是我想要构建的:https ://github.com/martinpitt/umockdev

我不知道如何pkg-config告知libpcap.

标签: raspberry-piraspbianlibpcappkg-config

解决方案


您系统上的 libpcap 基于 tcpdump.org libpcap 1.8.1 版本。该版本没有提供 .pc 文件,Debian 自己也没有提供它们。

.pc 文件是在 libpcap 1.9 中添加的,因此 1.9.0 和所有后续版本,包括当前的 1.10.1 版本,都提供 .pc 文件。

您将需要:

  1. 将您机器上的操作系统升级到提供 1.9 或 1.10 libpcap 版本的系统;
  2. 自行下载并安装 libpcap 1.10.1;
  3. 如果存在并且不存在 .pc 文件,请将 umockdev 更改为使用 pcap-config 脚本。

推荐阅读