Mac OS X Security Update 2009-001でPerlモジュールに不整合が発生する恐れ 16
たぶん自分も引っかかる、 部門より
あるAnonymous Coward 曰く、
MacでCPANを使ってモジュールのインストールを行っている場合、OS Xの最新のセキュリティアップデートで一部のモジュールに不整合が発生して利用できなくなるという問題が発生するようだ(本家記事より)。
宮川達彦氏のブログによると、問題は下記条件が揃った場合に起きるとのこと。
- Mac OS X 10.5 (Leopard)を使っている
- Mac OS XのPerlを使っている
- CPANを使い、複数のコアモジュールのアップグレードを行ったことがある
また、この問題が発生した場合、次のようなエラーメッセージが表示されるとのこと。
% perl -MIO IO object version 1.22 does not match bootstrap parameter 1.23
at /System/Library/Perl/5.8.8/darwin-thread-multi-2level/XSLoader.pm
line 94.
Compilation failed in require.
BEGIN failed--compilation aborted.この問題は、CPANシェルによってIO.pmが最新の1.23にアップグレードされているのに、セキュリティアップデートで古いIO.bundle 1.22が入ってくるのが原因とのこと。1.23は2006年にリリースされており、何故こんなに古いバージョンが入ってくるのかは不明だ。
IO.pmを1.23にアップデートすれば問題を解決できるが、IO.pmが壊れてしまっているためCPANシェルでこれを実行することはできない。そこで、CPANでIO-1.2301.tar.gzをダウンロードして手動でインストール(「perl Makefile.PL; make; sudo make install」)を実行することで問題は解決するとのこと。また、恐らくScalar::UtilとStorableに関しても同様の修正を行う必要があるとのことだ。
個人的に思うのは・・・・ (スコア:2, 興味深い)
むしろ、宮川氏のブログにある通り、
の方を、私は言いたいですね。
OS XでPerlを使っている人なら、たぶん同じ感慨を持ったのではないでしょうか?
単なる逆切れ? (スコア:2, 参考になる)
>But hey, 1.23 was released in 2006 ... Why do you bring that ancient version back, Apple!?
自分が勝手にOSのモジュールを書き換えておきながら、
それが原因で動かなくなった責任をなんとかAppleに押し付けようとしているだけに見えます。
デフォルトをいじらず、共存できる環境を自ら準備すればいいのに。
>OS XでPerlを使っている人なら、たぶん同じ感慨を持ったのではないでしょうか?
OS XでPerlを使っている人ですが、同じ感慨は残念ながら持ちませんでした。
Re:個人的に思うのは・・・・ (スコア:1, 参考になる)
OSベンダーの対応としては(少なくとも私には)不思議ではありません。
Perl 5.8.8 本体のバージョンはそのままでモジュールだけ新しいものに更新して配布する事の是非と、
Perl自体のバージョンを上げるべきか否かの議論は別だと思います。
また、画面を掃除してしまった(オフトピ) (スコア:2, おもしろおかしい)
> IO.pmが壊れてしまっているだめ
これ、「た」に濁点が付いていますよね。画面が汚れていると思って掃除してしまった老眼かかっている私。
ちなみに、私はLeopardを使っていてCPANでモジュールをDLしたりしてますが、全然問題になってないです。
(問題になったのかもしれないけど、即座にバージョンアップしたんだと思う。記憶なし。)
Best regards, でぃーすけ
Re: (スコア:0)
otkです。ご指摘多謝。修正しました。
#オフトピなのでACで。
Re: (スコア:0)
> IO.pmが壊れてしまっているらめ
にしておけば全て解決
Mac使ってないけど (スコア:0)
(Macのパッケージでなく)CPANでコアモジュールのアップデートをするような人が対象なら
CPANで上手く入らないのは良くある事なので、perl Makefile.PL くらいは出来るんじゃないかな
そんなに影響ないと思うPerl使い
Re: (スコア:0)
それでもこうやって話題にしてくれるのであれば、事前に判るのでありがたいが。
自分でそうしたんでしょ? (スコア:0)
と思ってたけど違うの?
自分で好きに変えといて、その後何も考えずふつ〜にOSアップデートしちゃって問題が出て騒いでる、としか見えんのだけど。
# /Applications以下のアプリを好きに場所変えといて、そのせいでOSアップデートでちゃんと更新されず動かない、でもそんなこと忘れたふりして/おかまいなしに動かん動かん大騒ぎ、ってのも過去には散見してたし。
Re:自分でそうしたんでしょ? (スコア:3, すばらしい洞察)
Macに限らずLinuxでもリポジトリ外からいろいろいじったものがアップデート時に壊れるというのはよくありますね。
やっちまったーと苦笑するしかないですな。
でもソフト本体ならともかく、設定ファイルとかデータとかがおかまいなしに上書きされるのはうれしくないし、慎重に扱ってほしいとも思います。
デフォルトの設定ファイルがパッケージに含まれているため、上書きしてしまう
→ 設定ファイルは初回起動時に作成される仕様とする
設定ファイル内の項目がアップデート対象なのでまるまる置き換え。
→ スクリプトなり何なりでスキャンして部分書き換えさせる
こんな感じで。
とりあえず、Perl使いじゃないので助かった。
# いろいろいじってPHPのmysql接続がおかしくなってなおせてないAC
Re: (スコア:0)
サポートだって半端にしか知らないクセに手を出す奴が一番ウザい。
自分でいじりたがるクセにケツも拭けないようなヌルいユーザーには余計な苦労をしてもらうのがよろしい。
そのほうが当人のスキルアップも図れるし、ベンダーもより生産的な作業に労力を回せるしで皆ハッピーになれるでしょう。
Re: (スコア:0)
Windowsユーザのことですね、分かります!
#ま、あっちだと違う叩かれ方するんだろうけど。
昔のNTサービスパックを思い出した (スコア:0)
これとは話的に逆なんだろうけど。
Re: (スコア:0)
化粧箱屋のAppleに技術を期待するなんて
MacPortを使えばいいのでは? (スコア:0)