Problema ligando contra pcap.h

0

Estou tentando compilar o ethping | Aqui está o comando que é emitido via make:

gcc -Wall -Werror -ggdb -g -O2 -lpcap  -o ethping ethping.o ieee8021ag.o dot1ag_eth.o

Agora recebo esta mensagem de erro:

/dot1ag-utils-master/src/ethping.c:65: undefined reference to 'pcap_breakloop'

Indicando que não é possível encontrar o pcap.h .

Então eu digito:

root:src# whereis pcap.h
pcap: /usr/include/pcap.h /usr/include/pcap /usr/share/man/man3/pcap.3pcap.gz
root:src# 



root:src# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/include

E o /usr/include está definitivamente no meu caminho.

A única coisa que pode ser um problema é que /usr/include/pcap.h é um arquivo stub que inclui e inclui pcap/pcap.h .

/*
 * For backwards compatibility.
 *
 * Note to OS vendors: do NOT get rid of this file!  Many applications
 * expect to be able to include <pcap.h>, and at least some of them
 * go through contortions in their configure scripts to try to detect
 * OSes that have "helpfully" moved pcap.h to <pcap/pcap.h> without
 * leaving behind a <pcap.h> file.
 */
#include <pcap/pcap.h>

Então, em /usr/include/pcap/pcap.h é o conteúdo real do arquivo com essas definições presentes.

    
por RobM 05.02.2015 / 16:04

1 resposta

1

Você precisa instalar não apenas os arquivos de cabeçalho, mas também as bibliotecas. Estes são os pacotes que terminam em -dev , portanto, neste caso:

sudo apt-get install libpcap-dev

A propósito, este é um meta-pacote, que irá instalar libpcap0.8-dev package.

    
por meskobalazs 05.02.2015 / 16:16