MonoDevelop 3.0をソースからビルドしてインストールする手順。 検証に使った環境はUbuntu 12.04 (Precise Pangolin)。
MonoDevelop本体
MonoDevelopが必要とするアセンブリのインストール
MonoDevelopが必要とするアセンブリをあらかじめインストールしておく。 必要になるものは以下のアセンブリ。 各アセンブリのインストール方法についてはMono 2.10 のビルド・インストールもしくはMono 2.11 のビルド・インストールを参照のこと。
- MonoDevelopが必要とするアセンブリ・パッケージ
- Mono (2.10.8以上)
- Mono Addins
- gtk-sharp (2.12.8以上)
- monodoc
- gecko-sharp
- gtksourceview-sharp
- mono-debugger (デバッガを使用する場合)
ソースのダウンロードとconfigure
tarballの場合
configureの結果を確認する。
3.0.4.6の場合
3.0.4.6では、tarballを使ってビルドしようとすると「config.status: error: cannot find input file: `tests/UnitTests/Makefile.in'」というエラーが出てconfigureに失敗する。 testsディレクトリ以下の存在しないファイルを参照しようとしてエラーとなるので、次のファイルを修正することでこのエラーを回避できる。
- 修正するファイル
- configure.in
- configure
- Main.sln
- 以下のディレクトリ・ファイルを参照している箇所を削除する
- tests/UnitTests
- tests/UserInterfaceTests
- tests/MonoDevelop.MacDev.Tests
- tests/MacPlatform.Tests
具体的な修正内容は以下の通り。
3.0.1以前の場合
3.0.1以前のバージョンでは、tarballを使ってビルドしようとすると「src/addins/MonoDevelop.CodeMetrics/Makefile.inが見つからない」というエラーが出てサブモジュールのビルドに失敗するため、gitからソースを取得してビルドする必要がある。 ([MonoDevelop] Building MD 3.0.1)
gitからソースを取得する場合
--selectオプションをつけて./configureを実行し、ビルドするアドインを選択/解除する。
configureの結果を確認する。
ビルド、起動
問題が無ければ、makeする。
ビルドしたものをインストールせず、すぐに実行したければmake runする。
インストールするには、make installする。
symbol lookup errorが発生して起動できない場合の対処
GLibのバージョンが2.31以上の場合、g_thread_*が定義されておらず、MonoDevelopの起動時に以下のようなエラーが発生する。 (MonoDevelop本体ではなくgtk-sharp-2.0の問題)
gtk-sharp-2.0をビルドする前に、glib/Thread.csを以下のように修正してg_thread_*を呼び出さないように変更することで上記のエラーは発生しなくなる。 (gtk-sharp-2.12.11で確認済み)