今天安装一个开源项目时,遇到报错提示:
“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” 的解决办法:
参考文章:ubuntu系统libpcap库安装和配置https://blog.csdn.net/lzp_k2/article/details/84845224
为了节约时间,我采用的是下方的第一种方法,成功解决。
sudo apt-get install libpcap-dev
会自动安装最新版本,提示安装了哪些库。
查看一下系统的 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
软件可编译通过。
参见 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
试了下总是报错。
参见:
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