2009-08-25 予約した。
2009-08-28 届いた。
2009-09-03 まだ封も開けてない...
2009-09-04 明日くらいには封を開けられるかな...
2009-09-12 まだ封を開けてないのに 10.6.1 アップデートがリリース...
2009-09-15 封を開ける。開けるのは上か下かしばらく悩む。上を開ける。中身を引っ張りだすタブがある。上を開けて正解だった。おまけシールが入っている。インストールするにはDVDをセットするだけでいいのね、と確認したら箱にしまう。
2006-09-16 死守ファイルをバックアップできた。アップグレード決行。

00. backup

    /private/etc
    /private/var/log
    /Library/StartupItems
    /Library/Perl
    /Users

0. cleaning

    mv /System/Library/Perl /System/Library/Perl.old

    これはしなくても大丈夫だけど、
    昔の cpan で入れたモジュールと
    Snow Leopard アップグレードで入ったモジュールが
    /System/Library/Perl に混在してしまうのは気持ち悪いから。

1. Max OS X 10.6 and Xcode 3.2

    double click on Max OS X インストール
        1時間9分かかる

    double click on オプションインストール/Xcode.mpkg
        30分かかる

2. 環境変数

    for CPAN on Intel Mac
        setenv ARCHFLAGS '-arch x86_64'
        setenv CFLAGS    '-arch x86_64'

    for DBD::Pg
        setenv POSTGRES_INCLUDE '/usr/local/pgsql/include'
        setenv POSTGRES_LIB     '/usr/local/pgsql/lib -lssl -lcrypto'

3. DBD::Pg

    cpan> install DBD::Pg

    Warning (usually harmless):
        'YAML' not installed, will not store persistent state

4. Apache::DBI

    cpan> install Apache::DBI

5. libapreq2

    cpan> install ExtUtils::XSBuilder::ParseSource

    cd ~/src/libapreq2-2.12
    perl Makefile.pl --with-apache2-apxs=/usr/sbin/apxs
    make
    sudo make install

    Installing
        /usr/libexec/apache2/mod_apreq2.so
        Apache2/Cookie.pm
        Apache2/Request.pm

    Before you can use mod_apreq2,
        you must ensure that an appropriate
        "LoadModule" line appears in your webserver's config file:
        /private/etc/apache2/httpd.conf
        LoadModule apreq_module    /usr/libexec/apache2/mod_apreq2.so

6. other cpan

    cpan> install HTML::Template
    cpan> install URI::Amazon::APA

7. postgresql

    cd ~/src/postgresql-8.3.1
    install

8. ddclient

    cd ~/src/ddclient-3.7.3
    install

9. /etc

    apache2/
        httpd.conf
        extra/
            httpd-vhosts.conf
        other/
            mod_perl.conf
            startup.pl
    ddclient/
        ddclient.conf
    firewall/
        fwrules.macosx

10. startup

    /etc/hostoconfig
        PGSERVER=-YES-
        DDCLIENT=-YES-
        IPFW=-YES-

    /Library/StartupItems/
        PostgreSQL/
        ddclient/
        ipfw/

11. OS起動時に postgresql がスタートしない :(

    コンソールメッセージを見ると localhost へソケットが開けずこけている。
    ipfw をスタートアップしているのが原因か。
    フレッツの接続を失敗した時に起きる問題か。

    スタートアップ用スクリプトを修正する。
    vi /Library/StartupItems/PostgreSQL/PostgreSQL

    ...
    StartService ()
    {
        if [ "${PGSERVER:=-NO-}" = "-YES-" ]; then
            # lock file "postmaster.pid" already exists?
            LOCK=/usr/local/pgsql/data/postmaster.pid
            until [ -f $LOCK ]; do
                ConsoleMessage "Starting PostgreSQL server..."
                su -l pgsql -c "pg_ctl start"
                sleep 5
            done
        fi
    }
    ...

12. flash player

    最新版 10.0.32.18 かどうか確認

13. アプリケーション「プレビュー」が大クラッシュ

    シャープネスをいじるとかちんと固まる。
    強制終了の command + option + Esc も効かない。
    本体の電源ボタンを押すしかなくなる。

というあらすじで、特に問題もなく、Mac OS X 10.6 Snow Leopard へアップグレード。:)

いまのところ、Perl を2系統にしなくても、 /usr/bin/cpan でがんがん install して大丈夫。 mod_perl2 を cpan で入れると、またややこしくなるかもしれない。

Leopard へのセキュリティアップデートで発生したような問題、 つまり、 c の関数を使ってるモジュールを cpan で入れた場合、 「システムの XSLoader」 に load してもらえない、 しかたないってんで XSLoader も cpan で入れたら、 「cpan で入れた XSLoader」 がシステムのモジュールを load してくれない、 結局、Perl を 2系統用意するというめんどくさい事態になる、 いわゆる XSLoader 問題は改善されてるかもしれない。

関連記事 Mac OS X 関連の過去記事

topic: macosx
first posted: 2009-08-26 13:42:39
last modified: 2009-10-03 23:09:25