Dell SUSE Enterprise를 사용하고 있습니다. 선택의 여지가 없다.Dell SUSE Enterprise에서 libpcap을 컴파일 할 수 없습니다.
SUSE에는 libpcap-devel 또는 zypper 저장소와 비슷한 항목이 없습니다.
GIT 저장소에서 libpcap을 다운로드하여 설치했습니다. libpcap은 flex와 bison을 모두 컴파일해야합니다. flex 버전 2.5.35가 bison과 마찬가지로 repo에 있습니다.
그러나 libpcap-devel을 사용하여 컴파일하는 데 문제가 없습니다. autoconf가 스크립트 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:
, 내가 찾을 : 물론
$ nm /usr/local/lib/libpcap.so | grep pcap_lex
U pcap_lex
는 pcap_lex 실제로는 yylex에서 정의 #입니다.
나는 여기에 내 머리가 아닙니다. 나는 왜이 물건이 수세에서 제대로 컴파일되지 않는지 알아 내려고하고있다. 아무도 단서가 있습니까?
당신이 기술적으로 정확하다고해도 더 나은 접근 방법은 http://www.tcpdump.org/에서 libpcap 1.2.1 소스를 다운로드하는 것입니다. 그 버전은 문제없이 컴파일되었습니다. 따라서 진짜 대답은 github에서 무작위로 출시되는 것이 아닙니다. – vy32
글쎄, 그 문제를보고 한 다른 사람들 중 적어도 일부는 tcpdump.org에서 다운로드 한 표준 릴리스의 문제점을보고하고 있었기 때문에 반드시 그런 수정이 필요한 것은 아닙니다. –
또는 제 경우에는 tcpdump.org 파일을 사용하여 라이브러리를 성공적으로 빌드했지만 프로젝트에 링크하려고하면이 오류가 발생합니다. –