謎だ。その3

まぁ、「ウチの会社は変な会社」てなオチでこの辺は片づけといて、復職したらさてどうすんべかと考えるとして、話変わって今度はウチの盆栽の話。
ウチの盆栽のうち、Plamo Linuxを入れたネットワーク系サーバの整備は、体調が戻るに連れて盆栽いじりにあてられる時間も増えてきたので順調に進んでいて、現在ではカーネルを2.6に上げた環境でSSHサーバにDNSサーバ、それとNTPサーバが稼働し、ClamAVもインストールと設定周りも完了してウィルス対策もほぼ仕上がった形になっている。
で、今度はファイアーウォールの方も手をつけんべーということになってまずはNTPサーバから・・・と思ってNTPサーバを動かそうと思ったらエラーメッセージが。
エラーメッセージを見ると「libcrypto.so.0.9.7がねーからプログラムを起動できねーよバーカ」(意訳)という内容のメッセージ。
ヲイラも知らなかったが今のPlamo Linuxに入っているntp4.2.0はどうもOpenSSLのシェアドライブラリにバージョン依存しているらしく、ウチの環境ではOpenSSLのバージョンをインストール時に入っていた0.9.7から0.9.8aに上げてしまったため、シェアドライブラリが見つからなくてエラーになったらしい。
しかし、ネットワークサーバの方ではちゃんと動いてるのになぜだこりゃ?と思ってネットワークサーバの方を見たらこっちにはまだlibcrypto.so.0.9.7を/usr/libに残していたのでNTPサーバが正常に動いていたのだ。うーん、これはハマリだったなぁ。
と、いうことで、ファイアーウォールではntp4.2.0のtar ballを引っ張ってきて例によって./confgureしてmakeしてmake install。で、再度動かしてみたところばっちり起動。よっしゃよっしゃ。
んじゃ今度は本丸のネットワークサーバの方でもリビルドしましょうかね、ということで同じようにtar ballを引っ張ってきて例によって./confgureしてmakeしたところコンパイルエラーが出てくる。
はへ?ファイアーウォールではうまくいったのになんでこっちではうまくいかないの?
もしかしてカーネルを2.6に上げたせいかなぁと思い、残しておいたカーネル2.4環境でマシンを再起動してもう一度ビルドしてもやっぱりダメ。
あれかなぁ、カーネルの環境が違うから./configureの内容が違うのかなぁとも思って両者のマシンのコンフィグ結果を比べてもまったく変化なし。
しかたがないのでファイアーウォールでビルドしたntpをネットワークサーバの方へツリーまるごとコピーし、make installして起動(当然カーネルは2.6)したらまったく問題なし。
ぐわー!ソースも同じだし、コンフィグ結果も違ってないって事はMakefileの中身も違ってないはず。おまけに違うマシンからコピーしてきたバイナリは何事もなく順調に稼働している。なのになんでネットワークサーバの方でmakeすると失敗するんだよー!!(;´Д`)
make時のエラーメッセージによるとntp_config.cのコンパイル時に「定数として定義されてない記述子があるからこれが何がなんだかわかんねーよコラ」ということらしいのだが、その定義をしているヘッダファイルはちゃんと用意されているし、make時のコンパイルコマンドを見る限りそれをインクルードし忘れているということもなさそう。一体何が悪いんだ?
なんか参考になる情報がないかとぐぐって見てもそれっぽいのは引っかからないし、今は八方ふさがりのお手上げ状態。この際PlamoのMLに入って質問してみようかな?なんか一発で答えが出てきてバカにされそうだけど(苦笑)。ま、聞くは一時の恥ということで。
とりあえずは自力更正ということでできるところまでやってみようということで、セキュリティ対策も含めてファイアーウォールのカーネルを2.6に上げて無事稼働したら再度ファイアーウォールでビルドして結果を確認してみようかと。なんか先が長そうだなぁ。