Pergunta

Estamos usando o Dell SUSE Enterprise.Sem escolha.

O SUSE não possui libpcap-devel ou algo semelhante nos repositórios zypper.

Baixei e instalei o libpcap do repositório GIT.libpcap requer que flex e bison sejam compilados.A versão flex 2.5.35 está no repositório, assim como o bison.

No entanto, não consigo nenhum problema que use libpcap-devel para compilar.O script autoconf falha nas tentativas de vinculação em libpcap.so:

configure:3633: $? = 1
configure:3636: checking whether we are using the GNU C++ compiler
configure:3665: g++ -c   conftest.cpp >&5
configure:3672: $? = 0
configure:3689: result: yes
configure:3698: checking whether g++ accepts -g
configure:3728: g++ -c -g  conftest.cpp >&5
configure:3735: $? = 0
configure:3836: result: yes
configure:3861: checking dependency style of g++
configure:3952: result: gcc3
configure:3981: checking for a BSD-compatible install
configure:4049: result: /usr/bin/install -c
configure:4067: checking for pcap_lookupdev in -lpcap
configure:4102: gcc -o conftest -g -O2   conftest.c -lpcap   >&5
/usr/local/lib/libpcap.so: undefined reference to `pcap_lex'
collect2: ld returned 1 exit status
configure:4109: $? = 1
configure: failed program was:

Executando nm no arquivo, encontro:

$ nm /usr/local/lib/libpcap.so | grep pcap_lex
                 U pcap_lex

claro, pcap_lex é realmente um #define de yylex.

Eu não estou perdendo a cabeça aqui.Estou tentando descobrir por que nada disso é compilado corretamente no Suse.Alguém tem alguma ideia?

Foi útil?

Solução

De alguma forma, tudo o que você fez para compilar o libpcap fez com que ele não fosse compilado corretamente.

Sem:

  1. o config.log arquivo do diretório libpcap;
  2. o Makefile do diretório libpcap;
  3. a saída da compilação no diretório libpcap;

será impossível determinar o que foi e, portanto, será impossível consertar o processo para que a libpcap seja construída corretamente.Eu tenho nunca vi um problema com libpcaps construído no Linux, então não consigo determinar o que está acontecendo aqui.

(Se fornecer esta informação, estará a ajudar não só a si próprio, mas a todas as pessoas que relataram problemas semelhantes, mas que se recusaram a responder a perguntas semelhantes e, portanto, não forneceram nenhuma das informações em questão.)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top