无法在Dell SUSE Enterprise下编译libpcap

时间:2012-03-13 01:04:24

标签: libpcap suse

我们正在使用Dell SUSE Enterprise。别无选择。

SUSE在zypper存储库中没有libpcap-devel或类似内容。

我已从GIT存储库下载并安装了libpcap。 libpcap需要编译flex和bison。 flex版本2.5.35在回购中,就像野牛一样。

但是,我无法解决使用libpcap-devel编译的任何问题。尝试在libpcap.so中链接时,autoconf脚本失败:

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实际上是来自yylex的#define。

我不是在这里。我想弄清楚为什么这些东西都没有在Suse上正确编译。有人有线索吗?

1 个答案:

答案 0 :(得分:0)

不知何故,无论你做什么来编译libpcap都会导致它无法正确构建。

  1. libpcap目录中的config.log文件;
  2. 来自libpcap目录的Makefile;
  3. libpcap目录中构建的输出;
  4. 将无法确定那是什么,因此无法修复该过程以便正确构建libpcap。我永远看不到Linux上构建的libpcaps的问题,所以我无法确定这里发生了什么。

    (如果您提供此信息,您不仅会帮助自己,还会帮助所有报告类似问题但拒绝回答类似问题的人,因此未提供任何相关信息。)