環境:ubuntu 18.04 python3.6
今天安裝一個開源項目時,遇到報錯提示:
“pcapdumper.cc:11:10: fatal error: pcap.h: No such file or directory
#include <pcap.h>
^~~~~~~~
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