2017-02-04T19:08:53の更新内容

programming/mono/build_install/mono_from_git-master/index.wiki.txt

current previous
1,26 1,21
 
${smdncms:title,Mono のビルド・インストール (Git master)}
${smdncms:title,Mono のビルド・インストール (Git master)}
 
${smdncms:keywords,Git,master}
${smdncms:keywords,Git,master}
~
[[Mono:http://www.mono-project.com/]]を[[Gitのソース:http://github.com/mono]]からビルドしてインストールする手順。 本文の内容は''2017年01月16日''時点のバージョンに基づく。
[[Mono:http://www.mono-project.com/]]を[[Gitのソース:http://github.com/mono]]からビルドしてインストールする手順。 本文は2017年01月16日現在のバージョンに基づく。
 

        

        
 
また、ビルドに使用した環境はUbuntu 16.04 LTS 64bit、本文中に掲載している所要時間はIntel Core i5-6402Pを積んだマシンで計測したもの。
また、ビルドに使用した環境はUbuntu 16.04 LTS 64bit、本文中に掲載している所要時間はIntel Core i5-6402Pを積んだマシンで計測したもの。
 

        

        
~
#relevantdocs
#remarks
 

        

        
~
-[[programming/mono/build_install/mono_from_tarball]] (tarballからビルド・インストールする手順)
他のバージョン、tarballからインストールする場合については[[programming/mono/build_install]]にある該当するバージョンのページを参照してください。
+
-[[programming/mono/build_install]] (他のバージョンでのビルド・インストール手順など)
 

        

        
~
#relevantdocs-end
#remarks-end
 

        

        
 
ここで紹介する手順はMono本体といくつかのアセンブリをインストールするためのもの。 ディストリビューションが提供しているバージョンのMonoと共存できるようにするため、``/opt/mono/master``にインストールする。
ここで紹介する手順はMono本体といくつかのアセンブリをインストールするためのもの。 ディストリビューションが提供しているバージョンのMonoと共存できるようにするため、``/opt/mono/master``にインストールする。
 

        

        
+
#remarks
 
1つの環境に複数のMonoをインストールする方法については[[Parallel Mono Environments - Mono:http://www.mono-project.com/docs/compiling-mono/parallel-mono-environments/]]で詳しく解説されている。
1つの環境に複数のMonoをインストールする方法については[[Parallel Mono Environments - Mono:http://www.mono-project.com/docs/compiling-mono/parallel-mono-environments/]]で詳しく解説されている。
+
#remarks-end
 

        

        
 
ビルドにはgcc、libtool、autotools、gettext、pkg-config等が必要になるので、あらかじめインストールしておく必要がある。
ビルドにはgcc、libtool、autotools、gettext、pkg-config等が必要になるので、あらかじめインストールしておく必要がある。
 

        

        
+
#adunit
+

          
 
*libgdiplus [#libgdiplus]
*libgdiplus [#libgdiplus]
 
``System.Drawing.dll``など、GDI+を使用する場合のみ。 不要な場合はインストールを省略できる。
``System.Drawing.dll``など、GDI+を使用する場合のみ。 不要な場合はインストールを省略できる。
 

        

        
38,7 33,7
 
./autogen.sh --prefix=/opt/mono/master
./autogen.sh --prefix=/opt/mono/master
 
}}
}}
 

        

        
~
``configure``の結果例。
configureの結果例。
 
#prompt{{
#prompt{{
 
---
---
 
Configuration summary
Configuration summary
63,18 58,17
 
}}
}}
 

        

        
 
**ビルド、インストール
**ビルド、インストール
~
configureした結果に問題が無ければ``make``, ``make install``する。
configureした結果に問題が無ければmake、make installする。
 
#code(sh){{
#code(sh){{
 
make
make
 
sudo make install
sudo make install
 
}}
}}
 

        

        
 
正しくインストールできたか確認する。
正しくインストールできたか確認する。
~
#prompt{{
#code(sh){{
~
$ PKG_CONFIG_PATH=/opt/mono/master/lib/pkgconfig pkg-config libgdiplus --modversion
$ pkg-config libgdiplus --version
~
4.2
0.29.1
~

          
$ pkg-config libgdiplus --libs
+
$ PKG_CONFIG_PATH=/opt/mono/master/lib/pkgconfig pkg-config libgdiplus --libs
 
-L/opt/mono/master/lib -lgdiplus -lglib-2.0 -lcairo -lfontconfig -lfreetype -lXrender -lX11 -ljpeg -ltiff -lgif -lpng12 -lexif -Wl,--export-dynamic -lgmodule-2.0 -pthread -lgthread-2.0 -pthread -lglib-2.0
-L/opt/mono/master/lib -lgdiplus -lglib-2.0 -lcairo -lfontconfig -lfreetype -lXrender -lX11 -ljpeg -ltiff -lgif -lpng12 -lexif -Wl,--export-dynamic -lgmodule-2.0 -pthread -lgthread-2.0 -pthread -lglib-2.0
 
}}
}}
 

        

        
96,7 90,7
 
}}
}}
 

        

        
 
**ビルド、インストール
**ビルド、インストール
~
configureした結果に問題が無ければ``make``, ``make install``する。
configureした結果に問題が無ければmake、make installする。
 
#code(sh){{
#code(sh){{
 
make
make
 
sudo make install
sudo make install
124,10 118,10
 
git clone git://github.com/mono/mono.git
git clone git://github.com/mono/mono.git
 
cd mono
cd mono
 
export MONO_USE_LLVM=1
export MONO_USE_LLVM=1
~
./autogen.sh --prefix=/opt/mono/master/ --with-llvm=/opt/mono/master --with-libgdiplus=/opt/mono/master --with-ikvm-native=no --with-mcs-docs=no --with-x
./autogen.sh --prefix=/opt/mono/master --with-llvm=/opt/mono/master --with-libgdiplus=/opt/mono/master --with-ikvm-native=no --with-mcs-docs=no --with-x
 
}}
}}
 

        

        
~
``configure``の結果例。
configureの結果例。
 
#prompt{{
#prompt{{
 
        mcs source:    mcs
        mcs source:    mcs
 
	C# Compiler:   roslyn
	C# Compiler:   roslyn
170,7 164,7
 
#relevantdocs-end
#relevantdocs-end
 

        

        
 
**ビルド、インストール
**ビルド、インストール
~
準備が整ったら、``make``, ``make install``する。
準備が整ったら、make、make installする。
 
#code(sh){{
#code(sh){{
 
make
make
 
sudo make install
sudo make install
209,7 203,6
 
**動作確認
**動作確認
 
***新しくMonoをインストールした場合
***新しくMonoをインストールした場合
 
``mono -V``でmonoが動作することを確認する。
``mono -V``でmonoが動作することを確認する。
+

          
 
#prompt{{
#prompt{{
 
$ mono -V
$ mono -V
 
Mono JIT compiler version 4.9.0 (master/70ce369 2017年  1月 16日 月曜日 18:44:24 JST)
Mono JIT compiler version 4.9.0 (master/70ce369 2017年  1月 16日 月曜日 18:44:24 JST)
226,7 219,6
 

        

        
 
***既に別のバージョンのMonoが存在する環境にインストールした場合
***既に別のバージョンのMonoが存在する環境にインストールした場合
 
新しく``/opt/mono/master``にインストールしたMonoを参照できるように、環境変数を設定するスクリプトを用意しておく。
新しく``/opt/mono/master``にインストールしたMonoを参照できるように、環境変数を設定するスクリプトを用意しておく。
+

          
 
#code(sh,mono-master-env){{
#code(sh,mono-master-env){{
 
#!/bin/bash
#!/bin/bash
 
MONO_PREFIX=/opt/mono/master
MONO_PREFIX=/opt/mono/master
240,11 232,9
 
}}
}}
 

        

        
 
まず``mono -V``で既にインストールされているmonoが動作することを確認する。
まず``mono -V``で既にインストールされているmonoが動作することを確認する。
+

          
 
#prompt{{
#prompt{{
 
$ which mono
$ which mono
 
/usr/bin/mono
/usr/bin/mono
+

          
 
$ mono -V
$ mono -V
 
Mono JIT compiler version 4.2.1 (Debian 4.2.1.102+dfsg2-7ubuntu4)
Mono JIT compiler version 4.2.1 (Debian 4.2.1.102+dfsg2-7ubuntu4)
 
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
259,13 249,10
 
}}
}}
 

        

        
 
続いて、先ほど用意したスクリプトを読み込んだあとで``mono -V``を実行し、新しくインストールしたmonoが動作することを確認する。
続いて、先ほど用意したスクリプトを読み込んだあとで``mono -V``を実行し、新しくインストールしたmonoが動作することを確認する。
+

          
 
#prompt{{
#prompt{{
 
$ source mono-master-env
$ source mono-master-env
+

          
 
$ which mono
$ which mono
 
/opt/mono/master/bin/mono
/opt/mono/master/bin/mono
+

          
 
$ mono -V
$ mono -V
 
Mono JIT compiler version 4.9.0 (master/70ce369 2017年  1月 16日 月曜日 18:44:24 JST)
Mono JIT compiler version 4.9.0 (master/70ce369 2017年  1月 16日 月曜日 18:44:24 JST)
 
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
286,8 273,7
 
#relevantdocs-end
#relevantdocs-end
 

        

        
 
***GAC
***GAC
~
``gacutil2 -l``でアセンブリがGACに登録されていることを確認する。
``gacutil -l``でアセンブリがGACに登録されていることを確認する。 GACのパスを明示的に指定する場合は-rootオプションで指定する(例えば``gacutil2 -l -root /usr/lib/``など)。
+

          
 
#prompt{{
#prompt{{
 
$ gacutil2 -l 
$ gacutil2 -l 
 
The following assemblies are installed into the GAC:
The following assemblies are installed into the GAC:
301,10 287,6
 
  :
  :
 
}}
}}
 

        

        
+
#remarks
+
GACのパスを明示的に指定する場合は-rootオプションで指定する。 例えば``gacutil2 -l -root /opt/mono/master/lib/``など)
+
#remarks-end
+

          
 
***mcs(C#コンパイラ)・mono(Monoランタイム)
***mcs(C#コンパイラ)・mono(Monoランタイム)
 
mcs(C#コンパイラ)およびmono(Monoランタイム)の動作を確認する。
mcs(C#コンパイラ)およびmono(Monoランタイム)の動作を確認する。
 

        

        
331,7 313,6
 

        

        
 

        

        
 
LLVMバックエンドを有効にした場合の動作を確認する。 ``mono --llvm``とすることでLLVMバックエンドを有効にした状態でmonoランタイムを実行させることができる。
LLVMバックエンドを有効にした場合の動作を確認する。 ``mono --llvm``とすることでLLVMバックエンドを有効にした状態でmonoランタイムを実行させることができる。
+

          
 
#prompt{{
#prompt{{
 
$ mono -v --llvm test.exe | grep "Main"
$ mono -v --llvm test.exe | grep "Main"
 
converting llvm method Test:Main ()
converting llvm method Test:Main ()
343,14 324,11
 

        

        
 
***csharp(C#シェル)
***csharp(C#シェル)
 
csharpシェルが動作するか確認する。
csharpシェルが動作するか確認する。
+

          
 
#prompt{{
#prompt{{
 
$ csharp -e 'Environment.Version;'
$ csharp -e 'Environment.Version;'
 
4.0.30319.42000
4.0.30319.42000
+

          
 
$ csharp -e 'Environment.OSVersion;'
$ csharp -e 'Environment.OSVersion;'
 
Unix 4.4.0.59
Unix 4.4.0.59
+

          
 
$ csharp
$ csharp
 
Mono C# Shell, type "help;" for help
Mono C# Shell, type "help;" for help
 

        

        
360,8 338,7
 
csharp> quit; 
csharp> quit; 
 
}}
}}
 

        

        
~

          
----
+

          
 

        

        
 
*その他のアセンブリ・ライブラリ
*その他のアセンブリ・ライブラリ
 
**mono-basic
**mono-basic
375,12 352,12
 
./configure --prefix=/opt/mono/master/
./configure --prefix=/opt/mono/master/
 
}}
}}
 

        

        
~
``configure``の結果例。
configureの結果例。
 
#prompt{{
#prompt{{
 
mono-basic 4.0.1 module configured to use prefix=/opt/mono/master/
mono-basic 4.0.1 module configured to use prefix=/opt/mono/master/
 
}}
}}
 

        

        
~
問題が無ければ、``make``, ``make install``する。
問題が無ければ、make、make installする。
 
#code(sh){{
#code(sh){{
 
make
make
 
sudo make install
sudo make install
412,54 389,3
 
}}
}}
 

        

        
 

        

        
+
*トラブルシューティング [#Troubleshooting]
+
**System.Drawing.dllがTypeInitializationExceptionスローする [#System.Drawing.dll_throws_TypeInitializationException]
+
以下のようにSystem.Drawing.dllのメンバを参照しようとした際にTypeInitializationExceptionがスローされる場合の対処について。
+
#prompt{{
+
$ mcs test.cs -r:System.Drawing.dll && mono test.exe
+

          
+
Unhandled Exception:
+
System.TypeInitializationException: The type initializer for 'System.Drawing.GDIPlus' threw an exception. ---> System.DllNotFoundException: /opt/mono/master/
+
  at (wrapper managed-to-native) System.Drawing.GDIPlus:GdiplusStartup (ulong&,System.Drawing.GdiplusStartupInput&,System.Drawing.GdiplusStartupOutput&)
+
  at System.Drawing.GDIPlus..cctor () [0x000cc] in <1917aa1c39d94b1a91807b8cd9f03350>:0 
+
   --- End of inner exception stack trace ---
+
  at System.Drawing.Bitmap..ctor (System.String filename, System.Boolean useIcm) [0x0002b] in <1917aa1c39d94b1a91807b8cd9f03350>:0 
+
  at System.Drawing.Bitmap..ctor (System.String filename) [0x00000] in <1917aa1c39d94b1a91807b8cd9f03350>:0 
+
  at (wrapper remoting-invoke-with-check) System.Drawing.Bitmap:.ctor (string)
+
  at Test.Main () [0x00000] in <8d1ccbab6ffd4bc3b78e43e6e0f0b3a5>:0 
+
}}
+

          
+
上記のようにTypeInitializationExceptionがスローされ、さらにその原因として``<&var{prefix};>``が見つからずにDllNotFoundExceptionがスローされている場合は、``libgdiplus.so``のパス解決に失敗している。
+

          
+
この場合、``<&var{prefix};>/etc/mono/config``を以下のように修正する。 (ここで、``<&var{prefix};>``は``configure``の``--prefix``オプションで指定したインストール先のパス。 ここでは``/opt/mono/master``。)
+

          
+
#code(diff,<prefix>/etc/mono/config){{
+
@@ -29,8 +29,8 @@
+
 		<dllentry dll="__Internal" name="MoveMemory" target="mono_win32_compat_MoveMemory"/>
+
 		<dllentry dll="__Internal" name="ZeroMemory" target="mono_win32_compat_ZeroMemory"/>
+
 	</dllmap>
+
-	<dllmap dll="gdiplus" target="/opt/mono/master/" os="!windows"/>
+
-	<dllmap dll="gdiplus.dll" target="/opt/mono/master/"  os="!windows"/>
+
-	<dllmap dll="gdi32" target="/opt/mono/master/" os="!windows"/>
+
-	<dllmap dll="gdi32.dll" target="/opt/mono/master/" os="!windows"/>
+
+	<dllmap dll="gdiplus" target="/opt/mono/master/lib/libgdiplus.so" os="!windows"/>
+
+	<dllmap dll="gdiplus.dll" target="/opt/mono/master/lib/libgdiplus.so"  os="!windows"/>
+
+	<dllmap dll="gdi32" target="/opt/mono/master/lib/libgdiplus.so" os="!windows"/>
+
+	<dllmap dll="gdi32.dll" target="/opt/mono/master/lib/libgdiplus.so" os="!windows"/>
+
 </configuration>
+
}}
+

          
+
#remarks
+
インストール先の``<&var{prefix};>/etc/mono/config``を編集できない場合は、``/home/&var{user};/.mono/config``に同様のファイルを配置してそこに記述することもできる。
+
#remarks-end
+

          
+
#relevantdocs(参考資料)
+

          
+
-[[DllMaps | Mono:http://www.mono-project.com/docs/advanced/pinvoke/dllmap/]]
+
-[[DllNotFoundException | Mono:http://www.mono-project.com/docs/advanced/pinvoke/dllnotfoundexception/]]
+

          
+
#relevantdocs-end
+

          
+

          
+

          
+

          

programming/mono/build_install/mono_from_tarball/index.wiki.txt

current previous
1,64 1,53
~
${smdncms:title,Mono のビルド・インストール (tarball)}
${smdncms:title,Mono 4.2 のビルド・インストール}
~

          
${smdncms:keywords,Mono 4.2,Ubuntu 14.04}
~
[[Mono:http://www.mono-project.com]]をソースからビルドしてインストールする手順。 本文の内容は''Mono 4.6.2''に基づく。
[[Mono 4.2:http://www.mono-project.com/Main_Page]]をソースからビルドしてインストールする手順。 検証に使った環境はUbuntu 14.04 LTS 64bit。
+

          
+
また、ビルドに使用した環境はUbuntu 16.04 LTS 64bit、本文中に掲載している所要時間はIntel Core i5-6402Pを積んだマシンで計測したもの。
 

        

        
 
#relevantdocs(リリースノート・ソースの入手)
#relevantdocs(リリースノート・ソースの入手)
 

        

        
~
-[[Mono 4.6.2 Release Notes | Mono:http://www.mono-project.com/docs/about-mono/releases/4.6.2]]
-[[Mono 4.2.1 Release Notes | Mono:http://www.mono-project.com/docs/about-mono/releases/4.2.1/]]
~
-[[Mono 4.6.1 Release Notes | Mono:http://www.mono-project.com/docs/about-mono/releases/4.6.1]]
-[[Download | Mono:http://www.go-mono.com/mono-downloads/download.html]]
+
-[[Mono 4.6.0 Release Notes | Mono:http://www.mono-project.com/docs/about-mono/releases/4.6.0]]
+
-[[Download | Mono:https://download.mono-project.com/sources/mono/]]
 

        

        
 
#relevantdocs-end
#relevantdocs-end
 

        

        
 
#relevantdocs
#relevantdocs
 

        

        
~
-[[programming/mono/build_install/mono_from_git-master]] (Gitのソースからビルド・インストールする手順)
-[[programming/mono/build_install/mono_from_git-master]]
~
-[[programming/mono/build_install]] (他のバージョンでのビルド・インストール手順など)
-[[programming/mono/build_install]] (他のバージョンでのビルド・インストール手順)
 

        

        
 
#relevantdocs-end
#relevantdocs-end
 

        

        
~
ここで紹介する手順はMono本体といくつかのアセンブリをインストールするためのもの。 ディストリビューションが提供しているバージョンのMonoと共存できるようにするため、``/opt/mono/4.6``にインストールする。
// ここで紹介する手順は[[MonoDevelop 5.0>programming/mono/build_install/monodevelop-5.0]]を動作させるために必要なアセンブリ一式をインストールするためのもの。
-
ディストリビューションが提供しているバージョンのMonoと共存できるようにするため、ここでは``/opt/mono/4.2``にインストールする。
 

        

        
+
#remarks
 
1つの環境に複数のMonoをインストールする方法については[[Parallel Mono Environments - Mono:http://www.mono-project.com/docs/compiling-mono/parallel-mono-environments/]]で詳しく解説されている。
1つの環境に複数のMonoをインストールする方法については[[Parallel Mono Environments - Mono:http://www.mono-project.com/docs/compiling-mono/parallel-mono-environments/]]で詳しく解説されている。
+
#remarks-end
 

        

        
 
ビルドにはgcc、libtool、autotools、gettext、pkg-config等が必要になるので、あらかじめインストールしておく必要がある。
ビルドにはgcc、libtool、autotools、gettext、pkg-config等が必要になるので、あらかじめインストールしておく必要がある。
 

        

        
 
#adunit
#adunit
 

        

        
 
*libgdiplus [#libgdiplus]
*libgdiplus [#libgdiplus]
+
``System.Drawing.dll``など、GDI+を使用する場合のみ。 不要な場合はインストールを省略できる。
+

          
 
**依存するパッケージのインストール
**依存するパッケージのインストール
 
#code(sh){{
#code(sh){{
 
sudo apt-get install \
sudo apt-get install \
 
libcairo2-dev libexif-dev libfreetype6-dev libfontconfig1-dev libglib2.0-dev libjpeg8-dev libpng12-dev \
libcairo2-dev libexif-dev libfreetype6-dev libfontconfig1-dev libglib2.0-dev libjpeg8-dev libpng12-dev \
~
libtiff5-dev libgif-dev libx11-dev libxrender-dev
libtiff4-dev libgif-dev libx11-dev libxrender-dev
 
}}
}}
 

        

        
 
**ソースのダウンロードとconfigure
**ソースのダウンロードとconfigure
 
#code(sh){{
#code(sh){{
~
wget https://download.mono-project.com/sources/libgdiplus/libgdiplus-4.2.tar.gz
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-4.2.tar.gz
 
tar -xvf libgdiplus-4.2.tar.gz 
tar -xvf libgdiplus-4.2.tar.gz 
 
cd libgdiplus-4.2/
cd libgdiplus-4.2/
~
./configure --prefix=/opt/mono/4.6/
./configure --prefix=/opt/mono/4.2/
 
}}
}}
 

        

        
+
#remarks
+
Mono 4.6のリリース時点では4.6にバージョン付けされたlibgdiplusはリリースされていないので、libgdiplus-4.2を用いる。
+
#remarks-end
+

          
 
``configure``の結果例。
``configure``の結果例。
 
#prompt{{
#prompt{{
 
---
---
 
Configuration summary
Configuration summary
 

        

        
~
   * Installation prefix = /opt/mono/4.6
   * Installation prefix = /opt/mono/4.2
~
   * Cairo = 1.14.6 (system)
   * Cairo = 1.13.1 (system)
 
   * Text = cairo
   * Text = cairo
 
   * EXIF tags = yes
   * EXIF tags = yes
 
   * Codecs supported:
   * Codecs supported:
76,44 65,31
 
}}
}}
 

        

        
 
**ビルド、インストール
**ビルド、インストール
~
configureした結果に問題が無ければ``make``, ``make install``する。
configureした結果に問題が無ければmake、make installする。
 
#code(sh){{
#code(sh){{
 
make
make
 
sudo make install
sudo make install
 
}}
}}
 

        

        
 
正しくインストールできたか確認する。
正しくインストールできたか確認する。
~
#prompt{{
#code(sh){{
~
$ PKG_CONFIG_PATH=/opt/mono/4.6/lib/pkgconfig pkg-config libgdiplus --modversion
ls -l /opt/mono/4.2/lib/libgdiplus*
+
4.2
+

          
+
$ PKG_CONFIG_PATH=/opt/mono/4.6/lib/pkgconfig pkg-config libgdiplus --libs
+
-L/opt/mono/4.6/lib -lgdiplus -lglib-2.0 -lcairo -lfontconfig -lfreetype -lXrender -lX11 -ljpeg -ltiff -lgif -lpng12 -lexif -Wl,--export-dynamic -lgmodule-2.0 -pthread -lgthread-2.0 -pthread -lglib-2.0
+
}}
+

          
+
#remarks
+
libgdiplus-4.2ではpkgconfigで以下のようなエラーが表示される。
+
#prompt{{
+
$ PKG_CONFIG_PATH=/opt/mono/4.6/lib/pkgconfig pkg-config libgdiplus --libs
+
Variable 'libjpeg_prefix' not defined in '/opt/mono/4.6/lib/pkgconfig/libgdiplus.pc'
 
}}
}}
 

        

        
+
libgdiplusをMono(System.Drawing.dll)を通して使用する場合はこのまま続行しても問題ない。 直接リンクする場合など、これが問題となる場合はGit masterのlibgdiplus([[programming/mono/build_install/mono_from_git-master#libgdiplus]])を代用する。
+
#remarks-end
 

        

        
 
*Mono本体(コンパイラ、クラスライブラリ) [#Mono]
*Mono本体(コンパイラ、クラスライブラリ) [#Mono]
 
**依存するパッケージのインストール
**依存するパッケージのインストール
 
#code(sh){{
#code(sh){{
 
sudo apt-get install \
sudo apt-get install \
~
cmake libncurses-dev
bison
 
}}
}}
 

        

        
 
**ソースのダウンロードとconfigure
**ソースのダウンロードとconfigure
 
#code(sh){{
#code(sh){{
~
wget https://download.mono-project.com/sources/mono/mono-4.6.2.16.tar.bz2
wget http://download.mono-project.com/sources/mono/mono-4.2.2.10.tar.bz2
~
tar -xvf mono-4.6.2.16.tar.bz2
tar -xvf mono-4.2.2.10.tar.bz2
~
cd mono-4.6.2/
cd mono-4.2.2/
~
./configure --prefix=/opt/mono/4.6/ --with-libgdiplus=/opt/mono/4.6/ --with-ikvm-native=no --with-mcs-docs=no --with-x
./configure --prefix=/opt/mono/4.2/ --with-libgdiplus=installed --with-ikvm-native=no --with-monotouch=no --with-monodroid=no --with-xammac=no --with-mcs-docs=no --with-x
 
}}
}}
 

        

        
 
``configure``の結果例。
``configure``の結果例。
127,69 103,59
 
	TLS:           __thread
	TLS:           __thread
 
	SIGALTSTACK:   yes
	SIGALTSTACK:   yes
 
	Engine:        Building and using the JIT
	Engine:        Building and using the JIT
-
	oprofile:      no
 
	BigArrays:     no
	BigArrays:     no
 
	DTrace:        no
	DTrace:        no
 
	LLVM Back End: no (dynamically loaded: no)
	LLVM Back End: no (dynamically loaded: no)
 

        

        
 
   Libraries:
   Libraries:
~
	.NET 4.6:        yes
	.NET 4.5:        yes
~
	Xamarin.Android: no
	MonoDroid:       no
 
	Xamarin.iOS:     no
	Xamarin.iOS:     no
 
	Xamarin.WatchOS: no
	Xamarin.WatchOS: no
+
	Xamarin.TVOS:    no
 
	Xamarin.Mac:     no
	Xamarin.Mac:     no
+
	mobile_static:   no
 
	JNI support:     
	JNI support:     
~
	libgdiplus:      /opt/mono/4.6/
	libgdiplus:      assumed to be installed
 
	zlib:            system zlib
	zlib:            system zlib
 
}}
}}
 

        

        
~
#remarks
LLVMバックエンドを有効にしたい場合の手順については[[programming/mono/build_install/mono_from_git-master#LLVM]]。
+
LLVMバックエンドを有効にしたい場合の手順については[[programming/mono/build_install/mono_from_git-master#LLVM]]を参照。
+
#remarks-end
 

        

        
 
#relevantdocs(コンパイルオプションに関するドキュメント)
#relevantdocs(コンパイルオプションに関するドキュメント)
 

        

        
~
-[[Advanced Mono Compile Options - Mono:http://www.mono-project.com/docs/compiling-mono/advanced-mono-compile-options/]]
-[[Advanced Mono Compile Options | Mono:http://www.mono-project.com/docs/compiling-mono/advanced-mono-compile-options/]]
~
-[[Unsupported Advanced Mono Compile Options - Mono:http://www.mono-project.com/docs/compiling-mono/unsupported-advanced-compile-options/]]
-[[Unsupported Advanced Mono Compile Options | Mono:http://www.mono-project.com/docs/compiling-mono/unsupported-advanced-compile-options/]]
 

        

        
 
#relevantdocs-end
#relevantdocs-end
 

        

        
 
**ビルド、インストール
**ビルド、インストール
-
コンパイルする環境にMonoおよび``mcs``がない場合は、``make``する前に``make get-monolite-latest``で最新の[[Monolite:http://www.mono-project.com/docs/advanced/monolite/]])を取得しておく。
-
#code(sh){{
-
make get-monolite-latest
-
}}
-

          
 
準備が整ったら、``make``, ``make install``する。
準備が整ったら、``make``, ``make install``する。
 
#code(sh){{
#code(sh){{
 
make
make
 
sudo make install
sudo make install
 
}}
}}
 

        

        
~
所要時間は以下のとおり。
参考までに、Core 2 Duo E6600を積んだマシンでのビルド所要時間は以下のとおり。
 
#prompt{{
#prompt{{
~
$ time make -j4
$ time make
~
real	4m46.900s
real	25m59.789s
~
user	10m30.052s
user	19m51.295s
~
sys	0m26.468s
sys	2m25.259s
 
}}
}}
 

        

        
-
//古いバージョンのMonoを使ってビルドしようとすると、Mono.Http/NtlmClient.csのコンパイルに失敗する場合がある模様。 ([[Bug 20462 – Mono actual version from github has compilation errors:https://bugzilla.xamarin.com/show_bug.cgi?id=20462]])
-

          
 
#relevantdocs(コンパイルに関するドキュメント)
#relevantdocs(コンパイルに関するドキュメント)
 

        

        
 
-[[Compiling Mono From Tarball | Mono:http://www.mono-project.com/docs/compiling-mono/compiling-from-tarball/]]
-[[Compiling Mono From Tarball | Mono:http://www.mono-project.com/docs/compiling-mono/compiling-from-tarball/]]
 

        

        
 
#relevantdocs-end
#relevantdocs-end
 

        

        
+
#remarks
+
Monoのビルドにはmcs(C#コンパイラ)が必要になる。 コンパイルする環境にmcsが場合は、以下のコマンドで最新の[[MonoLite:http://www.mono-project.com/docs/advanced/monolite/]](最小構成のmcsパッケージ)を取得することでビルドできるようになる。 ただし、通常は自動でダウンロードされるため手動で行う必要はない。
+
#code(sh,MonoLiteの取得){{
+
make get-monolite-latest
+
}}
+

          
+
MonoLiteが入手できない場合は、以下の5つのバイナリを別の環境からコピーするなどして手動で``../mcs/class/lib/monolite/``に配置する。 (過去のバージョンでは有効だった手段。 現在のバージョンでも有効かどうかは未検証。)
+
-mscorlib.dll
+
-System.dll
+
-System.Xml.dll
+
-Mono.Security.dll
+
-mcs.exe
+

          
+
#remarks-end
 

        

        
 
**動作確認
**動作確認
 
***新しくMonoをインストールした場合
***新しくMonoをインストールした場合
197,7 163,7
 

        

        
 
#prompt{{
#prompt{{
 
$ mono -V
$ mono -V
~
Mono JIT compiler version 4.6.2 (Stable 4.6.2.16/ac9e222 2017年  2月  4日 土曜日 18:17:57 JST)
Mono JIT compiler version 4.2.2 (Stable 4.2.2.10/7b87787 2016年  1月  2日 土曜日 11:31:56 JST)
 
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
 
	TLS:           __thread
	TLS:           __thread
 
	SIGSEGV:       altstack
	SIGSEGV:       altstack
210,28 176,25
 
}}
}}
 

        

        
 
***既に別のバージョンのMonoが存在する環境にインストールした場合
***既に別のバージョンのMonoが存在する環境にインストールした場合
~
新しく``/opt/mono/4.6``にインストールしたMonoを参照できるように、環境変数を設定するスクリプトを用意しておく。
新しく``/opt/mono``にインストールしたMonoを参照できるように、環境変数を設定する以下のようなスクリプトを用意しておく。 参考: [[Parallel Mono Environments - Mono:http://www.mono-project.com/Parallel_Mono_Environments]]
 

        

        
~
#code(sh,mono-4.6-env){{
#code(sh,mono-4.2-env){{
 
#!/bin/bash
#!/bin/bash
~
MONO_PREFIX=/opt/mono/4.6
MONO_PREFIX=/opt/mono/4.2
~
GNOME_PREFIX=/usr
export DYLD_LIBRARY_PATH=$MONO_PREFIX/lib:$DYLD_LIBRARY_PATH
+
export DYLD_FALLBACK_LIBRARY_PATH=$MONO_PREFIX/lib:$DYLD_LIBRARY_FALLBACK_PATH
 
export LD_LIBRARY_PATH=$MONO_PREFIX/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$MONO_PREFIX/lib:$LD_LIBRARY_PATH
~
export C_INCLUDE_PATH=$MONO_PREFIX/include:$GNOME_PREFIX/include
export C_INCLUDE_PATH=$MONO_PREFIX/include
 
export ACLOCAL_PATH=$MONO_PREFIX/share/aclocal
export ACLOCAL_PATH=$MONO_PREFIX/share/aclocal
~
export PKG_CONFIG_PATH=$MONO_PREFIX/lib/pkgconfig:$GNOME_PREFIX/lib/pkgconfig
export PKG_CONFIG_PATH=$MONO_PREFIX/lib/pkgconfig
 
export PATH=$MONO_PREFIX/bin:$PATH
export PATH=$MONO_PREFIX/bin:$PATH
 
}}
}}
 

        

        
~
まず``mono -V``で既にインストールされているmonoが動作することを確認する。
まず``mono -V``で先にインストールされていたmonoが動作することを確認する。
+

          
 
#prompt{{
#prompt{{
 
$ which mono
$ which mono
 
/usr/bin/mono
/usr/bin/mono
+

          
 
$ mono -V
$ mono -V
~
Mono JIT compiler version 4.2.1 (Debian 4.2.1.102+dfsg2-7ubuntu4)
Mono JIT compiler version 3.2.8 (Debian 3.2.8+dfsg-4ubuntu1.1)
 
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
 
	TLS:           __thread
	TLS:           __thread
 
	SIGSEGV:       altstack
	SIGSEGV:       altstack
246,13 209,11
 
続いて、先ほど用意したスクリプトを読み込んだあとで``mono -V``を実行し、新しくインストールしたmonoが動作することを確認する。
続いて、先ほど用意したスクリプトを読み込んだあとで``mono -V``を実行し、新しくインストールしたmonoが動作することを確認する。
 

        

        
 
#prompt{{
#prompt{{
~
$ source mono-4.6-env
$ source mono-4.2-env
+

          
 
$ which mono
$ which mono
~
/opt/mono/4.6/bin/mono
/opt/mono/4.2/bin/mono
+

          
 
$ mono -V
$ mono -V
~
Mono JIT compiler version 4.6.2 (Stable 4.6.2.16/ac9e222 2017年  2月  4日 土曜日 18:17:57 JST)
Mono JIT compiler version 4.2.2 (Stable 4.2.2.10/7b87787 2016年  1月  2日 土曜日 11:31:56 JST)
 
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
 
	TLS:           __thread
	TLS:           __thread
 
	SIGSEGV:       altstack
	SIGSEGV:       altstack
264,15 225,8
 
	GC:            sgen
	GC:            sgen
 
}}
}}
 

        

        
+
#relevantdocs(複数のバージョンのMonoを共存させる方法に関するドキュメント)
+

          
+
-[[Parallel Mono Environments - Mono:http://www.mono-project.com/docs/compiling-mono/parallel-mono-environments/]]
+

          
+
#relevantdocs-end
+

          
 
***GAC
***GAC
~
``gacutil2 -l``でアセンブリがGACに登録されていることを確認する。
``gacutil2 -l``でアセンブリがGACに登録されていることを確認する。 GACのパスを明示的に指定する場合は-rootオプションで指定する(例えば``gacutil2 -l -root /opt/mono/4.2/lib/``など)。
+

          
 
#prompt{{
#prompt{{
 
$ gacutil2 -l 
$ gacutil2 -l 
 
The following assemblies are installed into the GAC:
The following assemblies are installed into the GAC:
286,12 240,8
 
  :
  :
 
}}
}}
 

        

        
~
#remarks
***mcs(C#コンパイラ)
~
GACのパスを明示的に指定する場合は-rootオプションで指定する。 例えば``gacutil2 -l -root /opt/mono/4.6/lib/``など)
mcsの動作を確認する。
+
#remarks-end
+

          
+
***mcs(C#コンパイラ)・mono(Monoランタイム)
+
mcs(C#コンパイラ)およびmono(Monoランタイム)の動作を確認する。
 

        

        
 
#code(cs,type=input,test.cs){{
#code(cs,type=input,test.cs){{
 
using System;
using System;
306,41 256,247
 

        

        
 
#prompt{{
#prompt{{
 
$ mcs test.cs && mono test.exe
$ mcs test.cs && mono test.exe
~
4.0.30319.42000
4.0.30319.17020
-

          
-
$ mcs -sdk:4 test.cs && mono test.exe
-
4.0.30319.17020
-

          
-
$ mcs -sdk:4.5 test.cs && mono test.exe
-
4.0.30319.17020
-

          
-
$ mcs -sdk:2 test.cs && mono test.exe
-
WARNING: The runtime version supported by this application is unavailable.
-
Using default runtime: v4.0.30319
-
4.0.30319.17020
 
}}
}}
 

        

        
+
#remarks
+
MonoのC#コンパイラであるmcsは、.NET Frameworkのcscコンパイラと同じコンパイルオプションを指定してコンパイルすることができる。 コンパイルして作成した実行可能ファイルは直接実行する代わりに``mono test.exe``のようにmonoコマンドを使って実行する。
+
#remarks-end
+

          
 
***csharp(C#シェル)
***csharp(C#シェル)
 
csharpシェルが動作するか確認する。
csharpシェルが動作するか確認する。
+

          
 
#prompt{{
#prompt{{
 
$ csharp -e 'Environment.Version;'
$ csharp -e 'Environment.Version;'
~
4.0.30319.42000
4.0.30319.17020
 

        

        
 
$ csharp -e 'Environment.OSVersion;'
$ csharp -e 'Environment.OSVersion;'
~
Unix 4.4.0.62
Unix 3.13.0.24
 

        

        
 
$ csharp
$ csharp
 
Mono C# Shell, type "help;" for help
Mono C# Shell, type "help;" for help
 

        

        
 
Enter statements below.
Enter statements below.
~
csharp> Enumerable.Range(0, 10).Sum();
csharp> 1+2
~
45
3
~
csharp> quit; 
csharp> Enumerable.Range(1, 10).Sum();
-
55
-
csharp> quit;
-
}}
-

          
-

          
-

          
-

          
-

          
-
*その他のアセンブリ・ライブラリ
-
以下は[[MonoDevelop 5.0>programming/mono/build_install/monodevelop-5.0]]を動作させるために必要なアセンブリのインストール手順。 .NET Framework相当の機能のみが必要な場合はこの手順をスキップできる。
-

          
-
**gtk-sharp-2.0
-
依存するパッケージのインストール。
-
#code(sh){{
-
sudo apt-get install \
-
libglade2-dev libgtk2.0-dev libpango1.0-dev
-
}}
-

          
-
ソースのダウンロードと``configure``。
-
#code(sh){{
-
wget http://download.mono-project.com/sources/gtk-sharp212/gtk-sharp-2.12.26.tar.gz
-
tar -xvf gtk-sharp-2.12.26.tar.gz 
-
cd gtk-sharp-2.12.26/
-
./configure --prefix=/opt/mono/4.2/
-
}}
-

          
-
``configure``の結果例。
-
#prompt{{
-
---
-
Configuration summary
-

          
-
   * Installation prefix = /opt/mono/4.2
-
   * C# compiler: /opt/mono/4.2/bin/mcs  -define:GTK_SHARP_2_6 -define:GTK_SHARP_2_8 -define:GTK_SHARP_2_10 -define:GTK_SHARP_2_12  -define:DISABLE_GTHREAD_CHECK
-

          
-
   Optional assemblies included in the build:
-

          
-
      * glade-sharp.dll: yes
-
      * gtk-dotnet.dll: yes 
-
      * Mono.Cairo.dll: using system assembly
-

          
-
      NOTE: if any of the above say 'no' you may install the
-
            corresponding development packages for them, rerun
-
            autogen.sh to include them in the build.
-

          
-
   * Documentation build enabled: yes 
-
---s
-
}}
-

          
-

          
-
***make, make install
-
問題が無ければ、``make``, ``make install``する。
-
#code(sh){{
-
make
-
sudo make install
-
}}
-

          
-

          
-
**gnome-sharp-2.0
-
-依存するアセンブリ
-
--gtk-sharp-2.0
-

          
-
依存するパッケージのインストール。
-
#code(sh){{
-
sudo apt-get install \
-
libgnome2-dev libgnomecanvas2-dev libgnomeui-dev
-
}}
-

          
-
ソースのダウンロードと``configure``。
-
#code(sh){{
-
wget http://download.mono-project.com/sources/gnome-sharp2/gnome-sharp-2.24.1.tar.bz2
-
tar -xvf gnome-sharp-2.24.1.tar.bz2
-
cd gnome-sharp-2.24.1/
-
./configure --prefix=/opt/mono/4.2/
 
}}
}}
 

        

        
-
``configure``の結果例。
-
#prompt{{
-
---
-
Configuration summary
-

          
-
   * Installation prefix = /opt/mono/4.2
-
   * C# compiler: /opt/mono/4.2/bin/mcs  -define:GTK_SHARP_2_6 -define:GTK_SHARP_2_8 -define:GNOME_SHARP_2_16 -define:GNOME_SHARP_2_20 -define:GNOME_SHARP_2_24
-

          
-
   Optional assemblies included in the build:
-

          
-
      * art-sharp.dll: yes
-
      * gnomevfs-sharp.dll: yes
-
      * gnome-sharp.dll: yes
-

          
-
      NOTE: if any of the above say 'no' you may install the
-
            corresponding development packages for them, rerun
-
            autogen.sh to include them in the build.
-

          
-
            gnome-sharp.dll requires libgnomecanvas, libgnome,
-
            and libgnomeui.
-
---
-
}}
-

          
-
サンプルのビルドで失敗するため、コンパイルの前にMakefileを編集しておく。 参考:[[[Mono-dev] Mono 2.8 gnome-sharp not compiling...:http://lists.ximian.com/pipermail/mono-devel-list/2010-October/036017.html]]
-

          
-
#code(sh){{
-
cd sample/gnomevfs/
-
cp Makefile Makefile.org
-
sed 's/^EXTRA_TARGETS/#EXTRA_TARGETS/g' Makefile.org > Makefile
-
cd -
-
}}
-

          
-
#prompt{{
-
$ diff sample/gnomevfs/Makefile.org sample/gnomevfs/Makefile
-
221c221
-
< EXTRA_TARGETS = TestXfer.exe
-
---
-
> #EXTRA_TARGETS = TestXfer.exe
-
}}
-

          
-
Makefileを編集したら、``make``, ``make install``する。
-
#code(sh){{
-
make
-
sudo make install
-
}}
 

        

        
-
**gecko-sharp
-
-依存するアセンブリ
-
--gtk-sharp-2.0
 

        

        
-
ソースのダウンロードと``configure``。
-
#code(sh){{
-
wget http://download.mono-project.com/sources/gecko-sharp2/gecko-sharp-2.0-0.13.tar.bz2
-
tar -xvf gecko-sharp-2.0-0.13.tar.bz2
-
cd gecko-sharp-2.0-0.13/
-
./configure --prefix=/opt/mono/4.2/
-
}}
-

          
-
``configure``の結果例。
-
#prompt{{
-
---
-
Configuration summary
-

          
-
   * Installation prefix: /opt/mono/4.2/
-
   * compiler: /opt/mono/4.2/bin/mcs
-
   * Documentation: yes (/opt/mono/4.2/bin/monodocer)
-

          
-
---
-
}}
-

          
-
問題が無ければ、``make``, ``make install``する。
-
#code(sh){{
-
make
-
sudo make install
-
}}
-

          
-
**gnome-desktop-sharp
-
-依存するアセンブリ
-
--gtk-sharp-2.0
-
--gnome-sharp-2.0
-

          
-
依存するパッケージのインストール。
-
#code(sh){{
-
sudo apt-get install \
-
libgtksourceview2.0-dev libgtkhtml3.14-dev librsvg2-dev libvte-dev libwnck-dev
-
}}
-

          
-
ソースのダウンロードと``configure``。
-
#code(sh){{
-
wget http://download.mono-project.com/sources/gnome-desktop-sharp2/gnome-desktop-sharp-2.24.0.tar.bz2
-
tar -xvf gnome-desktop-sharp-2.24.0.tar.bz2
-
cd gnome-desktop-sharp-2.24.0/
-
./configure --prefix=/opt/mono/4.2/
-
}}
-

          
-
``configure``の結果例。
-
#prompt{{
-
---
-
Configuration summary
-

          
-
   * Installation prefix = /opt/mono/4.2/
-
   * C# compiler: /opt/mono/4.2/bin/mcs  
-

          
-
   Optional assemblies included in the build:
-

          
-
      * gnome-panel-sharp.dll: no
-
      * gnome-print-sharp.dll: no
-
      * gtkhtml-sharp.dll: yes
-
      * gtksourceview2-sharp.dll: yes
-
      * nautilusburn-sharp.dll: no
-
      * rsvg-sharp.dll: yes
-
      * vte-sharp.dll: yes
-
      * wnck-sharp.dll: yes
-

          
-
      NOTE: if any of the above say 'no' you may install the
-
            corresponding development packages for them, rerun
-
            autogen.sh to include them in the build.
-

          
-
---
-
}}
-

          
-
問題が無ければ、``make``, ``make install``する。
-
#code(sh){{
-
make
-
sudo make install
-
}}
 

        

        
 
*インストールされるアセンブリ
*インストールされるアセンブリ
 
ここまでの手順でインストールされるアセンブリの一覧は以下の通り。
ここまでの手順でインストールされるアセンブリの一覧は以下の通り。
+

          
 
#prompt{{
#prompt{{
~
$ gacutil2 -l -root /opt/mono/4.6/lib/
$ gacutil2 -l -root /opt/mono/4.2/lib/
~
The following assemblies are installed into the GAC:                                                     Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a                         Commons.Xml.Relaxng, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756                   CustomMarshalers, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a                      I18N, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756                                  
The following assemblies are installed into the GAC:
-
Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
Commons.Xml.Relaxng, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
-
CustomMarshalers, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
I18N, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
 
I18N.CJK, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
I18N.CJK, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
 
I18N.MidEast, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
I18N.MidEast, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
 
I18N.Other, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
I18N.Other, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
366,6 522,7
 
Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 
Microsoft.VisualC, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualC, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 
Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
-
Mono.C5, Version=1.1.1.0, Culture=neutral, PublicKeyToken=ba07f434b1c35cbd
 
Mono.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
 
Mono.Cairo, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Cairo, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
 
Mono.Cecil, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Cecil, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
381,10 538,6
 
Mono.Parallel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Parallel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
 
Mono.Posix, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Posix, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
 
Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
+
Mono.Security.Providers.DotNet, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
+
Mono.Security.Providers.NewSystemSource, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
+
Mono.Security.Providers.NewTls, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
+
Mono.Security.Providers.OldTls, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
 
Mono.Security.Win32, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Security.Win32, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
 
Mono.Simd, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Simd, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
 
Mono.Tasklets, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Tasklets, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
409,7 562,6
 
System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 
System.Data.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 
System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
System.Deployment, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 
System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 
System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 
System.DirectoryServices.Protocols, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.DirectoryServices.Protocols, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
430,7 582,6
 
System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
 
System.Net.Http.WebRequest, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Net.Http.WebRequest, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 
System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
System.Numerics.Vectors, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 
System.Reactive.Core, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reactive.Core, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
 
System.Reactive.Debugger, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reactive.Debugger, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
 
System.Reactive.Experimental, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reactive.Experimental, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
442,10 593,8
 
System.Reactive.Runtime.Remoting, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reactive.Runtime.Remoting, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
 
System.Reactive.Windows.Forms, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reactive.Windows.Forms, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
 
System.Reactive.Windows.Threading, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reactive.Windows.Threading, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
+
System.Reflection.Context, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 
System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 
System.Runtime.DurableInstancing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Runtime.DurableInstancing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
+
System.Runtime.InteropServices.RuntimeInformation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 
System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 
System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 
System.Runtime.Serialization.Formatters.Soap, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Runtime.Serialization.Formatters.Soap, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
468,10 617,8
 
System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
 
System.Web.Http.SelfHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.Http.SelfHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
 
System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
+
System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 
System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
 
System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
+
System.Web.RegularExpressions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 
System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
 
System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 
System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
480,16 627,28
 
System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 
System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 
System.Windows.Forms.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Windows.Forms.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
+
System.Workflow.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
+
System.Workflow.ComponentModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
+
System.Workflow.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
 
System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 
System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 
System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 
System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 
WebMatrix.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
WebMatrix.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
 
WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
-
art-sharp, Version=2.24.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
atk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
 
cscompmgd, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
cscompmgd, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
gconf-sharp, Version=2.24.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
gconf-sharp-peditors, Version=2.24.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
gecko-sharp, Version=2.0.0.0, Culture=neutral, PublicKeyToken=ccf7d78a55e9f021
-
glade-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
gnome-sharp, Version=2.24.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
gnome-vfs-sharp, Version=2.24.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
gnomedesktop-sharp, Version=2.20.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
gtk-dotnet, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
gtkhtml-sharp, Version=3.16.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
gtksourceview2-sharp, Version=2.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
 
monodoc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
monodoc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
 
nunit-console-runner, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
nunit-console-runner, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
 
nunit.core, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
nunit.core, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
499,12 658,59
 
nunit.framework.extensions, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
nunit.framework.extensions, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
 
nunit.mocks, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
nunit.mocks, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
 
nunit.util, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
nunit.util, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
~
Number of items = 162
pango-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.10.atk-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.10.gdk-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.10.glade-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.10.glib-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.10.gtk-dotnet, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.10.gtk-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.10.pango-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.16.art-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.16.gconf-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.16.gconf-sharp-peditors, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.16.gnome-vfs-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.20.art-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.20.gconf-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.20.gconf-sharp-peditors, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.20.gnome-vfs-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.4.art-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.4.atk-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.4.gconf-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.4.gconf-sharp-peditors, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.4.gdk-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.4.glade-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.4.glib-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.4.gnome-vfs-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.4.gtk-dotnet, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.4.gtk-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.4.pango-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.6.art-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.6.atk-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.6.gconf-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.6.gconf-sharp-peditors, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.6.gdk-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.6.glade-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.6.glib-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.6.gnome-vfs-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.6.gtk-dotnet, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.6.gtk-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.6.pango-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.8.art-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.8.atk-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.8.gconf-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.8.gconf-sharp-peditors, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.8.gdk-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.8.glade-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.8.glib-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.8.gnome-vfs-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.8.gtk-dotnet, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.8.gtk-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
policy.2.8.pango-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
rsvg2-sharp, Version=2.18.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
vte-sharp, Version=0.16.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
wnck-sharp, Version=2.20.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
-
Number of items = 217
 
}}
}}
 

        

        
 

        

        
+
*トラブルシューティング
+
**System.Drawing.dllがTypeInitializationExceptionスローする
+
[[programming/mono/build_install/mono_from_git-master#System.Drawing.dll_throws_TypeInitializationException]]を参照。
+

          
+