【问题笔记】linux下安装python项目时报错:找不到 pcap.h

在这里插入图片描述
环境:ubuntu 18.04 python3.6

今天安装一个开源项目时,遇到报错提示:
“pcapdumper.cc:11:10: fatal error: pcap.h: No such file or directory
#include
^~~~~~~~
compilation terminated.
error: Setup script exited with error: command ‘x86_64-linux-gnu-gcc’ failed with exit status 1”。
搜索并尝试了一些解决办法,总结记录一下。

系统找不到 “pcap.h” 的解决办法:

  • 安装 libpcap 库。

参考文章:ubuntu系统libpcap库安装和配置https://blog.csdn.net/lzp_k2/article/details/84845224

为了节约时间,我采用的是下方的第一种方法,成功解决。

1. 最简单的办法:命令行安装

sudo apt-get install libpcap-dev

会自动安装最新版本,提示安装了哪些库。

2. 偷懒办法:更新安装

查看一下系统的 pcap 库,不一定是没有安装,而是路径或名称不同。

搜索是否已有库:

find /usr -name "libpcap*so*"

比如发现存在于如下路径:
在这里插入图片描述
然后例如问题提示:
error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directory

需要的库是 libpcap.so.1,于是直接复制修改 libpacp.so 文件名形成 libpcap.so.1。命令如下:

cd /usr/local/lib/

sudo mv libpcap.so libpcap.so.1

再次搜索:

find /usr -name "libpcap*so*"

发现目录下多个需要的文件:
在这里插入图片描述

/usr/lib/x86_64-linux-gnu/libpcap.so.1.7.4
/usr/lib/x86_64-linux-gnu/libpcap.so.0.8
/usr/local/lib/libpcap.so.1.9.0
/usr/local/lib/libpcap.so

软件可编译通过。

3. 手动安装

参见 https://blog.csdn.net/yu314092706/article/details/54140292?utm_source=blogxgwz7

官网下载安装包

最新版本:http://www.tcpdump.org/

历史版本:http://www.tcpdump.org/release/

解压后

./configure

make

sudo make install

试了下总是报错。

4. 具体问题

参见:

https://blog.csdn.net/onlyellow/article/details/80633124

https://blog.csdn.net/cfjtaishan/article/details/7096085

1)/usr/local/lib/libpcap.so: undefined reference to `pcap_parse’

先清理,然后再从新安装一遍:

make clean,

./configure;

make;

make install;

2)error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

则可以在 .bashrc 或 .bash_profile 或 shell 里加入以下语句即可:

export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH    

其他参考文章:

在 ubuntu下安装 libpcap 库:

https://blog.csdn.net/cfjtaishan/article/details/7096085

Ubuntu16.04 安装 libpcap 开发库对 pcap 文件中的数据包进行过滤:

https://blog.csdn.net/singleyellow/article/details/78144285

你可能感兴趣的:(问题记录)