【コラム】

OS X ハッキング!

162 Intel Mac強化計画 - Darwinportsを試してみるの巻

    海上忍  [2006/01/19]

    新iMac、届きました! 梱包を解き、速攻でCarbon Emacsをビルド、さらにEGBRIDGE15 UniversalパブリックBetaをインストールして仮の執筆環境を構築。iPod上のサウンドライブラリをMusic Publisher経由で楽しみつつ、この原稿を書いているという次第です。

    さて、今回もIntel Macについて。実機が到着したばかりということもあり、環境構築がてら目に留まったことを書き綴って行きたい。

    まずは感想から

    新iMacを数日ほど使った感想だが、プリインストールされているアプリケーションを(大人しく)使っているかぎり、Intelマシンであることを意識する必要はない、ということ。アプリケーションの挙動が変わるわけではなく、ましてや新iMacの場合は外観の変更もほとんどない。ターミナルも何ら変わらず動作し、収録されているコマンドの数や種類もほぼ同じ。

    逆に否応なくプラットフォームの変更を意識させられるのは、ソースコードをコンパイルするとき。Carbon Emacsのように、早い時期から開発が進んでいたものは"make一発"でOKだが、プラットフォーム名を識別して処理内容を変えるものは多少の手直しが必要になることも。また、OS X/Darwin独特のバイナリ形式(Mach-O)が仇となり、他のUNIX系OSでは苦もなくビルドできるものが引っかかってしまうことがある。実際、SSE/SSE2対応などx86向けの最適化で知られるMP3エンコーダ「午後のこ~だ」を試したところ、最後のリンカを動かすところで「~bad magic number (not a Mach-O file)」と表示されビルドに失敗してしまった。

    それはともかく、大半のMacユーザは常用しているソフトが動くかどうかの1点に興味津々のはず。こちらに関しては、Rosettaなど検証すべき項目が多数あるため、後日改めて取り上げさせていただきたい。

    Darwinportsを試す

    ベンチマークソフトなどの性能測定に使うツールを1つ1つインストールしていてはキリがないので、OS X/Darwin用パッケージ集の力を借りることにした。使い慣れたFinkはIntel Macに未対応とのことなので、Darwinportsを選択。配布されているバイナリはPPC版のため、以下のとおりソースコードからインストールを行い、/opt/local/binにパスを通して初期設定は完了した。「port list | less」と実行すればパッケージリストが表示されるので、とりあえずは動作しているようだ。

    $ curl -O http://darwinports.opendarwin.org/downloads/DarwinPorts-1.2.tar.gz
    $ tar xzf DarwinPorts-1.2.tar.gz
    $ cd DarwinPorts-1.2
    $ ./configure && make && sudo make install
    $ sudo /opt/local/bin/port -d selfupdate

    「sudo port install xxx」などと実行してパッケージをいくつかインストールしてみたが、万事順調というわけには行かなかった。i386やPPCなど各種CPUに対応するエミュレータ「qemu」はコンパイルの初期段階で失敗、もう1つのx86エミュレータ「Bochs」も×。DOS環境をエミュレートする「DOSBox」もダメだった。

    成功したのは、連載「ダイナミックObjective-C」でもお馴染みの木下氏の手によるWebブラウザ「シイラ」。Darwinportsに収録されているものはv0.9.3と少し古いが、特に問題なく動作した。LAMEFAACといったエンコーダの類いもOK。まだ50ほどのパッケージしか試せていないが、現在のところ5割ほどの確率で(手直しなしに)インストールできている。手っ取り早くIntel Macネイティブのアプリケーションを増やしたい場合には、効率はともかく選択肢の1つと言えるだろう。

    と、ここで紙幅が尽きてしまった。次回も引き続き、Darwinportsの設定を含め、UNIX汎用のアプリケーションを効率よくIntel Macへ導入する方法について探ってみたい。

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン