ホーム > GNU/Linux > Fedora16にしたらPerlのSocketがクラッシュした

Fedora16にしたらPerlのSocketがクラッシュした

メインサーバーをFedora16にアップグレードしたら悲惨なことになった話。
いや、アップデート自体は(/var切った時のバグを踏んだ以外)問題なく終わったんで気を抜いてたら・・・

Cronの吐いたメールが百数通単位で。どうしてこうなった。
どうやらmuninがコケて5分に一回エラー出してるようで、
/usr/bin/perl: symbol lookup error: /usr/local/lib64/perl5/auto/Socket/Socket.so: undefined symbol: Perl_Istack_sp_ptr
のメールが多数。

とりあえず状況を把握しよう。
・PerlのSocketモジュールはPerlでないので、ライブラリを読み込もうとして落ちた
・SocketモジュールはCPANでアップデートしている
・つまりSocketモジュールをCPANで再インストールしてコンパイルしなおせばいい
・で、どうやってCPAN動かすの? ←いまここ

もちろんCPANの動作にはSocketが必要なわけで。詰んだ。・・・詰んだ?

10分ほど考えて最後の希望にかけて/home/renda/.cpanを覗いてみると・・・

なんとキャッシュあるじゃないですか。
さっくりmakeを走らせようとすると・・・
・makeは賢いのでファイルが変化していなければmakeしてくれない
・でもmakeしたい
・make cleanして作りなおそうとする
・MakefileをMakefile.PLから作ろうとし始める!
・もちろん落ちる。
Makefile消しちゃったよこの子。どーすんのと思ったらMakefile.oldで残しといてくれてた。

というわけで、全てのエラーが出てるモジュールに対して
・make clean
・mv Makefile.old Makefile
・make install
を実行。とりあえず安定して動作しているように見えるが果たして。

広告
カテゴリー:GNU/Linux
  1. まだコメントはありません。
  1. No trackbacks yet.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。