2011年11月13日日曜日

Scientific Linux6.1でEPGrecは鬼門

twitterでもつぶやいたが、ずいぶん前にサーバの復旧は完了していたのだが、EPGrecがエラーを出す。

エラーは

PHP Fatal error:  Call to undefined function msg_get_queue() in /var/www/epgrec/recorder.php on line 151

内容はmsg_get_queue()をサポートしてないからrecoeder.phpが実行できないぜ(超意訳)ということなので、msg_get_queue()に対応したphpを導入しようとしたのだが、それが無い。repoでさがしたけど、phpは関連したファイルが多いので、入れ替えると結構大変。
しかも、大概のrepoにあるphpはmsg_get_queue()に対応してない。wingにあるのは対応してそうだが、Scientificの6以降は、正式対応はまだ。repoファイルを書き換えて強引にいれたけど案の定、phpまわりの環境がぐちゃぐちゃに・・・。

仕方ないので、phpを引っこ抜いてソースからコンパイルと考え実行したけど、どうもバージョンの齟齬がでて、うまくコンパイルできない。あと、足りないファイルもそこそこ出てくるので、コンパイルしてもちゃんと動くか自信がなくなったので、結経安直にCentOs5.7に入れ替えた。

一応、これで、安定して動くようになった。
しかし、php周りでどつぼにはまるとはおもわんかったなあ。