mytopコマンドがエラーで動かず
自宅サーバのメンテナンス
まぁちょこちょこメンテナンスはしているが今回大はまりしたので、それを書いてみます。
今回はまったのはmytopコマンド
これをインストールしてみたら・・・動かねぇ・・・
動かそうとすると以下のエラー
/usr/libexec/ld-elf.so.1: /usr/local/lib/mysql/libmysqlclient.so.12: Undefined symbol "stpcpy"
なにが悪いかよくわからず。
とりあえず関連ありそうなツールをreinstallするも治らず。
で、調査のためにktraceしてみることに。
ktraceの結果の見方がよくわからないけが大まかな事は読み取れる
それで分かったことはlibc.so.4とlibc.so.5のどっちも読み込まれているってこと。
で、libc.so.4にはstpcpy機能が無いってこと。それがトラブルの原因ってことまで
はわかった。libc.so.5だけを読み込んでほしいのに・・
で、問題のlibc.so.4をだれが読み込んでいるのかは、私の能力不足で、ktraceの結果から
読み取る事がさっぱりできず・・・わかる人からみたらすぐにわかるんだろうなぁ・・
エラーから判断するとlibmysqlclient.so.12が読み込んでいるように見えるのだが
libmysqlclient.so.12をインストールするmycqlclientをreinstallしたのでそれが問題
なら治っているはずなんだけど治ってないから私の読みは外れって事だろう。
じゃあ、どのプログラムから呼び込まれているだ?
とりあえずlibc.so.4はOSがFreeBSD 4.xの時に使われいたようなのでOSを
4.x->5.xに挙げたときに挙げてないツールを考えてみること1秒
perl5.8.8。こいつしか思いつかない。
というか今までこいつをUPDATEするのは怖くて放置してただけなんだけど ^^;
ってことでperl5.8.8を再インストールし直してみた。
あっさり解決しました(笑)
まぁなにやらwarningもでているんだけど動いているので無問題(ぉぃ)
たぶん、別の問題だと思われるのでしばらくは放置プレイ。
