Mono 3.0をソースからビルドしてインストールする手順。 検証に使った環境はUbuntu 12.04 (Precise Pangolin)。
ディストリビューションが提供しているバージョンのMonoと共存できるようにするため、/opt/mono/3.0にインストールする。
1つの環境に複数のMonoをインストールする方法についてはParallel Mono Environments - Monoで詳しく解説されている。
ビルドにはgcc、libtool、autotools、gettext、pkg-config等が必要になるので、あらかじめインストールしておく必要がある。
libgdiplus
依存するパッケージのインストール
ソースのダウンロードとconfigure
Mono 3.0リリース時点では3.0にバージョン付けされたlibgdiplusはリリースされていないため、現時点で最新の2.10.9を使用する。
configureの結果例。
ビルド、インストール
configureした結果に問題が無ければmake、make installする。
正しくインストールできたか確認する。
Mono本体(コンパイラ、クラスライブラリ)
依存するパッケージのインストール
ソースのダウンロードとconfigure
configureの結果例。
ビルド、インストール
準備が整ったら、make、make installする。
参考までに、Core 2 Duo E6600を積んだマシンを使用してmakeに掛かった時間は以下のとおり。
動作確認
新しくMonoをインストールした場合
mono -Vでmonoが動作することを確認する。
既に別のバージョンのMonoが存在する環境にインストールした場合
新しく/opt/monoにインストールしたMonoを参照できるように、環境変数を設定するスクリプトを用意しておく。 参考: Parallel Mono Environments - Mono
まずmono -Vで先にインストールされていたmonoが動作することを確認する。
続いて、先ほど用意したスクリプトを読み込んだあとでmono -Vを実行し、新しくインストールしたmonoが動作することを確認する。
GAC
gacutil2 -lでアセンブリがGACに登録されていることを確認する。 GACのパスを明示的に指定する場合は-rootオプションで指定する(例えばgacutil2 -l -root /opt/mono/3.0/lib/など)。
mcs, gmcs, dmcs
mcs(C#コンパイラ)の動作を確認する。
gmcs, dmcsも使うことが出来る。 gmcsは-sdk:2, dmcsは-sdk:4を付けてmcsを呼び出すのと同じ。
csharp(C#シェル)
csharpシェルが動作するか確認する。