なんだこれは

はてなダイアリーから移転しました。

OpenSSH-4.3p のインストールで zlib too oldまたは zlib is buggy

OpenSSHを4.3 portableをMacにソースからインストールしようとすると、zlibが古過ぎる*1とはねられる。1.2.3かそれ以上にしてねっていうんだよ〜!ドラえも〜ん。

Apple様によると、SecurityUpdate 2005-007にてzlibは1.2.3になっているはずなんですよ。それで調べてみると、/usr/lib/libz.1.2.3.dylibがあるんだけど、しかも1.2.4以上はリリースされてません。

マジで?どっち?1.2.3かなぁ?

これってzlibからインストールし直しってことなの?

こう考えている人は続きを読めばいいと思うよ。たぶん、そんなにいないだろうけど。


ヒント /usr/include/zlib.hの二行目にVersion 1.2.2

むむっzlib.hか!

locate*2でlibzを検索すると、/Library/Receipts/MacOSXUpdateCombo10.4.4.pkg/Contents/Resources/postflight_actions/libzFix.shが引っかかった。そうかCAN-2005-2096,1849のSecurityUpdate 2005-007ってこのCombo10.4.4だな。

あたりみたい。

中身はsh*3-scriptでzlib.hについては書かれていない。はいっ、bugだ。しかも普段は正常に動作するbugだ。versionを求められるとheadderにかかれた、1.2.2を返すけれど、動作しているのは*41.2.3 なんだな。たぶん。libz.1.2.3というのはファイル名が3なだけという可能性は否定できないけど。

ひょっとするとCombo10.4.4を適用した人だけに当てはまる可能性も捨てきれない。うーん。このbug、引っかかる可能性低っk*5

うん?headderが違ったの呼んでるっておかしいよね?sourceからいれたzlib1.2.3*6のheadderとdiffしてみると、versionの他にも違っているみたい。や〜な感じ。

というわけで、fu7mu4のつたない英語でappleにbug報告してみた。15日までに返事が帰ってくると良いなぁ。というか、bug報告日本語でできないのかしら?

というか、OpenSSHをさっさとAppleがupdateしてくれればいいんだよなぁ。今日のタイトルは、zlib1.2.3にupdateで来たよねと思っているapple様に向けたタイトルだったのだっk

もちろん、fu7mu4の誤解の可能性もあります。

おまけ、zlib-1.2.3.tar.gzはこうやってインストールする。

./configure --prefix=/somewhere/over/the/rainbow  --shared 
make install
make test

*1:zlib too oldといってconfigureが終了する

*2:こういうときはにSpotlightではないのがfu7mu4です。

*3:正確にはbash

*4:libz.1.2.3.dylib。1.2.2は消しているみたい。

*5:fu7mu4はこれにずっとはまって放置していた。だってzlibのインストールを始めてから気がついたんだもん

*6:結局違うディレクトリに入れました。