昨日の話の続きですが、
perl 周りがやっぱり問題がありそうというか、依存度高すぎて危なすぎる。がんばってメンテしてるのだろうとは思うのだけれど。。。
昨日の問題は、PR 37406に出ていて、nagios-base をビルドするときに、最新のperlを入れていても、削除しちゃうという問題。。
ビルドするときに、古いのあると消しちゃうのは問題だよねぇ。止まってくれないと。。
ごていねいに、依存関係を再帰的に消してくれるので、僕が使っている Cyrus-IMAP, Spamassassin, mailagent って、常にあがってないと困っちゃうパッケージが、ぜーんぶ、飛んでしまう。
おかげで、多少メールを無くしたかもしれませんし(別のアカウントにバックアップはあるから、完全に無くなることは、まずないんですが)、4Gもある/varをあふれさせたのですが、上がっているcyrus君がログを、連続的に吐いたからです。。(実行するバイナリが無いといって、ログを吐き続きおって。。。)
あと、perlに少しでも変更あると(ローカルパッチがあっても)、ビルドシステムで単に依存しているだけでも、バージョン古いのに依存しているだけでも、依存関係がタイトだとおもって、再ビルド必要になって、とっても痛かったりします。
とりあえず、nagiosは、マジには使ってないので削除した。。気をつけましょう。。。
Archived comments:
obache 22 Nov 2007
HEADで生きていくには、そういう事故に備えて、バイナリパッケージを作るとか、なんとかがんばらないと。
shigeya 23 Nov 2007
クオーターごとにビルドし直しって、そうとうたまっちゃうから、そんなことできねーという気分です。
バイナリパッケージ一頃作ってたけど、今回みたいな話には無力です。
一方、今回、こまってたのは、これだけではなくて、なーんか、環境変数の影響でDB周りを参照しているバイナリが徹底的に作れなくなっていて、肝をひやしてます。(*/work/ビルドディレクトリ に入ってmakeするとたいてい解決する)。以前はlibtoolsが長いこと壊れていたこともあるし。こういうのにはバイナリパッケージつかってるとなんとかなりますけれどね。
まぁ、古い人間としては、ある程度コアなのは自分でつくっときゃいいって考えもあるんですが、最近時間がなくて(負けの気分)。あいかわらず、Emacsだけは自分で作ってるけど。NetBSD使い出してからgccは諦めたし。。perlも依存度高すぎて諦め。最近別個にやってるのはrubyか。
obache 25 Nov 2007
バイナリパッケージが無力なのは何でかわかりません。消えちゃったのは入れなおせば終わりじゃないのかな。
DBまわりというのは一体どういうことがどこで起こってるのかさっぱりわからないので何ともいえませんが、send-pr するのも面倒だったら、どっかにエラーログでも貼っていただけるとありがたいです。
perl の依存関係が多すぎといっても、おそらくperlが6になるまで、perlに依存するpackageをbuildしなおす必要はほぼ無いですよ。perlを置き換えればいいだけ。
ま、私もそれほど新しい人間じゃありませんが、ただ自分で作るのを楽するためにpkgsrcを使ってます。そのため、自家製packageをいくつも持ってます。一回作っておけば、後は結構楽なんで。