Ubuntu 8.04 Hardy HeronにMonoDevelop 1.0をインストールしたときの手順。 パッケージは用いずソースからインストールした。 またインストール先は/usr/localとした。

※Ubuntu 7.04 Feisty Fawnでも同じ手順でインストールできます。

§1 MonoDevelopが必要とするアセンブリのインストール

MonoDevelopが必要とするアセンブリをあらかじめインストールしておく。 必要になるものは以下のアセンブリ。

  • MonoDevelopが必要とするアセンブリ
    • monodoc
    • mono-tools
    • Mono Addins
    • GtkSharp
    • GnomeSharp
    • GeckoSharp
    • gtksourceview-sharp

§2 コンパイル時に必要なパッケージのインストール

コンパイル時に必要となるパッケージをあらかじめインストールしておく。 必要になるものは以下のパッケージ。

  • MonoDevelopが必要とするパッケージ
    • gettext

§3 ソースのダウンロード

wget http://go-mono.com/sources/monodevelop/monodevelop-1.0.tar.bz2
tar -xvf monodevelop-1.0.tar.bz2
cd monodevelop-1.0/

Mono 1.2.6以前の環境でC# 3.0、Linqを使用したい場合は、展開したソースに対して以下で紹介するパッチを当ててください。

§4 コンパイル、インストール

./configure

configureの結果を確認する。

Configuration summary

   * Installation prefix = /usr/local
   * C# compiler = /usr/local/bin/gmcs
   * Mono class library development extensions: yes
   * Version control support: yes
   *   Providers:
   *     Subversion: yes
   * ASP.NET project support: yes
   * Web References: yes
   * C/C++ project support: yes
   * GtkSourceView2: no
   * Platform bindings: GNOME 

問題が無ければ、make、make installする。

make
sudo make install

インストールが完了したら、monodevelop -Vでmonodevelopの出力を確認する。

# monodevelop -V
MonoDevelop.IdeApplication  1.0.0.0 - MonoDevelop Team 2004-2005, Mike Krueger 2000-2003
The MonoDevelop IDE

http://monodevelop.com
Authors: MonoDevelop Team

§5 Mono 1.2.6以前の環境でC# 3.0およびLinqを使用する場合

Mono 1.2.6以前の環境において、MonoDevelop 1.0でC# 3.0の機能およびLinqを使用したコードをコンパイルできるようにするパッチです。 (Mono 1.9以降のgmcsでは標準で-langversion:linqが有効になっているため、このパッチを当てなくてもC# 3.0の機能およびLinqを使用したコードをコンパイルできます)

展開したソースに対して下記の手順でパッチを当ててからコンパイルしてください。

cd monodevelop-1.0
patch -p0 -d . < monodevelop-1.0_cs3.0.patch

[プロジェクトオプション]→[一般]→[コンパイラオプション]の言語オプションをDefaultからLinqに変更することでC# 3.0およびLinqを使用したコードをコンパイル出来るようになります。 C# 3.0で追加されたキーワード類のハイライトするには、/usr/share/gtksourceview-1.0/language-specs/csharp.langを書き換えてください。

§6 "Inotify watch limit is too low"と表示されて起動できない場合

Inotify Watches Limit - MonoDevelopに書かれている対処法にしたがって、/etc/sysctl.confに次の一行を追記する。

fs.inotify.max_user_watches=16384

追記したら一度再起動して変更を反映する。