2012-03-13 6 views
0

Dell SUSE Enterpriseを使用しています。選択の余地ない。Dell SUSE Enterpriseでlibpcapをコンパイルできない

SUSEにはlibpcap-develやzypperリポジトリに似たものはありません。

GITリポジトリからlibpcapをダウンロードしてインストールしました。 libpcapは、flexとbisonの両方をコンパイルする必要があります。 flexバージョン2.5.35は、bisonと同様にレポにあります。

しかし、libpcap-develを使ってコンパイルするのは問題ありません。 autoconfのスクリプトはlibpcap.soにリンクする試みに失敗:アーカイブのNMを実行

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からの#defineです。

私はここで私の頭の中にいません。私はSuseでこのようなものが正しくコンパイルされない理由を理解しようとしています。誰かが手掛かりを持っていますか?

答えて

0

どういうわけか、libpcapをコンパイルしようとしても、正しくビルドできませんでした。

なし:

  1. libpcapのディレクトリからconfig.logファイル。
  2. libpcapディレクトリのMakefile。
  3. libpcapディレクトリ内のビルドの出力。

libpcapが正しく構築されるように、それが何であるかを判断することは不可能であり、プロセスを修正することは不可能です。私はを持っていません。はLinuxでビルドされたlibpcapsに問題があるので、ここで何が起こっているのか判断できません。

(あなたがこの情報を提供しても、あなただけでなく、同様の問題を報告しているが類似の質問に回答することを拒否し、問題の情報を提供していないすべての人々に役立つでしょう。)

+0

あなたは技術的に正しいですが、もっと良いアプローチはhttp://www.tcpdump.org/からlibpcap 1.2.1のソースをダウンロードすることでした。そのバージョンは問題なくコンパイルされました。実際の答えは、githubから無作為にリリースすることではありません。 – vy32

+0

さて、これらの問題を報告した他の人々の少なくとも一部は、tcpdump.orgからダウンロードされた標準リリースの問題を報告していたため、必ずしも保証された修正ではありません。 –

+0

私の場合は、tcpdump.orgファイルを使用してライブラリを構築しましたが、プロジェクトにリンクしようとするとこのエラーが発生します。 –

関連する問題