BuildMonoOnOsX
MonoをOS Xでソースから構築する
用意
Monoのソース
Monoのソースをhttp://ftp.novell.com/pub/mono/sources-stable/ から取得
Configureのオプションで--prefixをホームディレクトリに指定して、バイナリインストールしたものよりも高優先度で呼び出せるようにしておく(あらかじめ、プロファイルでPATH=~/bin:$PATHしてある)
cd mono-2.4 ./configure --prefix=/Users/arton checking build system type... i386-apple-darwin9.6.0 checking host system type... i386-apple-darwin9.6.0 ... checking for msgfmt... no configure: error: msgfmt not found. You need to install the 'gettext' package, or pass --enable-nls=no to configure.
GNU GetText?
しょうがないので、とりあえずGetTextを、http://www.gnu.org/software/gettext/ からダウンロード。
cd gettext-0.17 ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes ... config.status: creating po/Makefile config.status: executing po-directories commands
こっちはうまくいきそうな予感。
make ... Warning: arch-dependent data dir (/Volumes/Emacs/Emacs.app/Contents/MacOS/libexec/emacs/22.3/i386-apple-darwin9.5.0/) does not exist. Warning: arch-independent data dir (/Applications/Emacs.app/Contents/Resources/share/emacs/22.3/etc/) does not exist. Cannot open load file: japan-util make[3]: *** [elc-stamp] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all] Error 2 make: *** [all-recursive] Error 1
うーん、厄介だなあ。
でも、msgfmtをはじめとしたコマンド群はできているので、気にせずsudo make installでできたとこまでインストールし、再度、monoへ戻る。
./configure ... checking for pkg-config... no configure: error: You need to install pkg-config
うむ、そうか。
pkg-config
というわけで、http://pkgconfig.freedesktop.org/releases/ から最新のターボーを入手。
pkg-configは単純に、./configure;make;sudo make installでインストール完了。
で、またconfigureしたらglib-2.0がpkg-configのサーチパスにないというエラーとなった。あらためてREADMEを読むと、glib-2.4が必要と書いてあるね。
GTKとpkginfo
というわけで http://www.gtk-osx.org/ からバイナリパッケージをダウンロードしてインストール。
あれ、でもこれってpkg-configは見られないかも。というわけでpkg-configの設定をまともにやる。
sudo mkdir /usr/local/lib/pkginfo sudo cp /usr/lib/pkginfo/* /usr/local/lib/pkginfo sudo cp /Library/Frameworks/GLib.framework/Resources/dev/lib/pkgconfig/*.pc /usr/local/lib/pkginfo
これでやっと./configureに通った。
mcs source: $(top_srcdir)/mcs olive source: GC: included TLS: pthread SIGALTSTACK: no Engine: Building and using the JIT 2.0 Beta: yes 2.1 Alpha: yes JNI support: IKVM Native libgdiplus: assumed to be installed zlib: bundled zlib oprofile: no BigArrays: no DTrace: yes
Keyword(s):[mono]
References: