今までOS標準の古いEtherealをだましだまし使ってきたものの、バッファオーバーフローの脆弱性などもあり、いい加減新しいバージョンに変えないとまずかろうと、重い腰を上げてWireshark 1.0.4にバージョンアップすることにしました。
OS環境が古いので、そのまま動くバイナリなどどこにもあるはずもなく、ソースのコンパイルからです。例によって、コンパイルするのに必要なライブラリ類の中に現環境に入っていないものが沢山あったのですが、そこはまあなんとか調達。
コンパイルを始めましたが、かなりソースの分量が多いようで、非力なうちのサーバマシン(Celeron 2GHz)では10分や20分では終わりません。そして随分待たせた挙げ句、
epan/.libs/libwireshark.so: undefined reference to `protm_item_add_subtree'
というエラーで止まってしまいました。
はて、何かライブラリが足りなかったかなと、とりあえず「protm_item_add_subtree」でGoogle検索したところ、ヒット0件。そんな馬鹿なと思い、ソース全体に対してgrepで「
protm_item_add_subtree」を検索してみたところ、これまた該当なし。
ウームこれはまた面倒くさそうなトラブルだこと。と思いつつ、念のため「
item_add_subtree」でソースを検索したところ、これは沢山ヒットします。で、それらの箇所を見ると「
proto_item_add_subtree」と書いてありました。
ゲゲッ。これはひょっとして…
コンパイルしているうちにメモリ(ひょっとするとHDDかも)上のビットに異常が生じてoがmに文字化けしたようです。案の定、make cleanしてから再度makeしたら今度はすんなり行きました。
うちのサーバマシンは静音をウリにしたASUS Terminator P4 ID1というのをベースにしたショップブランドPCで、これは確かに静かではあったのですが、昔から長時間CPU負荷を掛けたときの動作が怪しいのですよねえ。いい加減なハードウェアだなあ。