Create  Edit  Diff  FrontPage  Index  Search  Changes  Login

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
Last modified:2011/11/18 23:09:38
Keyword(s):[mono]
References: