はじめに

オープンソースのソフトウェアを使おうとすると欠かせないパッケージ管理ソフト。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も単純なものですみます。

Leopard+Macportsでのmacfuse

Leopord(Mac OS X 10.5.4)のMacportsmacfuseをインストールしようとすると失敗する。

$ 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)

続きを読む

Macportsでユニバーサルバイナリを作る

ユニバーサルバイナリを作る際にはリンクする共有ライブラリもユニバーサルバイナリでなければならない。Mac OS Xに標準でインストールされているライブラリは全てユニバーサルバイナリだが、Macportsなどパッケージ管理ソフトウェアを用いてインストールしたものは標準ではユニバーサルバイナリではない。

port installをする時に+universal を指定するとユニバーサルバイナリが作られるはずだが、-isysroot /Developer/SDKs/10.4u.sdk (Mac OS Xppc版でユニバーサルバイナリを作る時に必要なオプション)の設定がされているが、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