はじめに
オープンソースのソフトウェアを使おうとすると欠かせないパッケージ管理ソフト。Mac OS Xの場合はMacportsが便利です。
しかしながら、Linuxにおけるapt, rpmと比べるとコミュニティが小さいためパッケージ化されていないソフトも多々あります。
そこでパッケージができるまで待つでも無く、configure,make,make installをして入れるでも無く、ローカルに自分用のMacports
インデックスを作成し、Macportsを用いてインストールをするという方法を説明したいと思います。
今日は初級編として岡野原大輔氏の作成したTx( http://www-tsujii.is.s.u-tokyo.ac.jp/~hillbig/tx-j.htm )を用います。
Tx自身は依存するソフトウェアは無く、インストール時に特別なオプションも必要無いので、全てデフォルトで良いためPortfileも単純なものですみます。
MacPortsで自作パッケージを作る(変更あり)
変更点:岡野原さんにtxと同じ場所にPortfileを置いてもらえたため、Portfileをダウンロードできるリンクを記述しました。
Leopard+Macportsでのmacfuse
Leopord(Mac OS X 10.5.4)のMacportsでmacfuseをインストールしようとすると失敗する。
$ sudo port -v install macfuse ... /Developer/usr/bin/strip -x /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/Release/MacFUSE.framework/Versions/A/MacFUSE ** BUILD FAILED ** The following build commands failed: MacFUSE: PhaseScriptExecution /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/Script-FF8DE2320D4EFE7C0007BFF6.sh (1 failure)続きを読む
ゲストOSへのVStoolsのインストール
11/28現在の最新版(version 4)での対応OSは次の通り。
* RHEL 3 U8 32-bit
* Red Hat Enterprise Linux 4 U4 and U5 32- and 64-Bit
* Oracle Unbreakable Linux 4 U4 and U5 32- and 64-Bit
* SUSE Linux Enterprise Server 9 SP3 32- and 64-Bit
* Windows 2000 32-Bit
* Windows XP Professional 32-Bit
* Windows Server 2003 32-Bit
* Windows Server 2003 32-Bit SP2
* Windows Server 2003 64-Bit
* Windows Vista 32-Bit
* CentOS 4.4
* CentOS 4.5
ゲストOSとしてCentOS 4.5 64bit版を用いたときのインストール方法を次に記す。VirtualIronサーバーとゲストOSのインストールは済んでいるものとする。(※更新あり 11/30)
VStoolsとは
VStooslとはVirtual IronなるXenベースの仮想化環境サーバーを使う際に、ゲストOSの高速化を行う為のカーネルモジュールである。
Macportsでユニバーサルバイナリを作る
ユニバーサルバイナリを作る際にはリンクする共有ライブラリもユニバーサルバイナリでなければならない。Mac OS Xに標準でインストールされているライブラリは全てユニバーサルバイナリだが、Macportsなどパッケージ管理ソフトウェアを用いてインストールしたものは標準ではユニバーサルバイナリではない。
port installをする時に+universal を指定するとユニバーサルバイナリが作られるはずだが、-isysroot /Developer/SDKs/10.4u.sdk (Mac OS X の ppc版でユニバーサルバイナリを作る時に必要なオプション)の設定がされているが、10.5の場合はこのオプションでは動かない。Xcode 3.0のライブラリをインストールした上でそのライブラリを読むように設定しなければならない。
続きを読むconfigureスクリプトを用いた場合のユニバーサルバイナリのビルド方法
CFLAGSとCXXFLAGSとLDFLAGSで動かしたいアーキテクチャを指定する。また、configureスクリプトの--disable-dependency-trackingオプションを指定する。
> CFLAGS="-arch i386 -arch ppc -arch x86_64 -arch ppc64" CXXFLAGS="-arch i386 -arch ppc -arch x86_64 -arch ppc64" LDFLAGS="-arch i386 -arch ppc -arch x86_64 -arch ppc64" ./configure --disable-dependency-tracking