Мы используем Dell SUSE Enterprise. Нет выбора.
SUSE не имеет libpcap-devel или чего-либо подобного в репозиториях zypper.
Я скачал и установил libpcap из репозитория GIT. libpcap требует компиляции как flex, так и bison. flex версии 2.5.35 находится в репо, как и bison.
Однако я не могу столкнуться с проблемой, когда для компиляции используется 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 в архиве, нахожу:
$ nm /usr/local/lib/libpcap.so | grep pcap_lex
U pcap_lex
конечно, pcap_lex - это #define от yylex.
Я здесь не над головой. Я пытаюсь понять, почему ничего из этого не компилируется должным образом на Suse. Кто-нибудь знает?