- Linux/UNIXで動作する MS .NET 実行環境
事前準備 (pkgconfig) †[edit]
# cd /usr/local/lib
# ln -s /usr/lib/pkgconfig .
Cario (Option) †[edit]
# yum -y install pixman-devel
# yum -y install libXext-devel
# wget www.cairographics.org/releases/cairo-1.14.0.tar.xz
# xzcat cairo-1.14.0.tar.xz |tar xfv -
# cd cairo-1.14.0
# ./configure
# make
# make install
libgdiplus †[edit]
# wget download.mono-project.com/sources/libgdiplus/libgdiplus-3.8.tar.gz
# zcat libgdiplus-3.8.tar.gz |tar xfv -
# cd libgdiplus-3.8
# ./configure
# make
# make install
$ wget download.mono-project.com/sources/mono/mono-3.12.0.tar.bz2
$ bzcat mono-3.12.0.tar.bz2 | tar xfv -
$ cd mono-3.12.0
$ ./configure --with-libgdiplus=/usr/local/lib/libgdiplus.la
# make
# make install
5.16.1.0 †[edit]
- これ以降のバージョンは,証明書からCNを取り出す際に証明書の構造によっては例外を起こす.
- 少なくとも 6.12.0.182 ではこのバグは快活されている.
6.8.0.123 †[edit]
事前準備 (pkgconfig) †[edit]
# cd /usr/local/lib
# ln -s /usr/lib/pkgconfig .
glib (GTK+ と GNOME のコアライブラリ) †[edit]
$ zcat glib-2.20.1.tar.gz| tar xfv -
$ cd glib-2.20.1
$ ./configure
$ make
# make install
# ldconfig
glib-2.26.0 でコンパイルエラー †[edit]
/usr/bin/msgfmt -o test.mo ./de.po; \
/bin/mkdir -p de/LC_MESSAGES; \
cp -f test.mo de/LC_MESSAGES
./de.po:15: キーワード "msgctxt" は知りません
./de.po:15:8: parse error
/usr/bin/msgfmt: 2 個の致命的エラーが見つかりました
cp: cannot stat `test.mo': そのようなファイルやディレクトリはありません
libgdiplus (GDIの拡張ライブラリ) †[edit]
- http://www.mono-project.com/Libgdiplus
- コンパイルに必要な開発パッケージ
- libpng-devel
- libtiff-devel
- libexif-devel
- libjpeg-devel
- freetype-devel and freetype2-devel
- giflib-devel (libungif-devel)
- libX11-devel (XOrg-devel)
- fontconfig-devel (XOrg-devel)
$ bzcat libgdiplus-2.4.tar.bz2| tar xfv -
$ cd libgdiplus-2.4
$ ./configure
$ make
# make install
# vi /etc/ld.so.conf
# ldconfig
libgdiplus-2.10.9 でコンパイルエラー †[edit]
../libtool: line 852: X--tag=CC: command not found
../libtool: line 885: libtool: ignoring unknown tag : command not found
../libtool: line 852: X--mode=compile: command not found
.............
- autoconf 2.68 以上をインストールし,configure の前に autoreconf -fiv を実行する.
/usr/local/bin/autoreconf -fiv
./configure
make clean
make
$ bzcat mono-2.4.tar.bz2 | tar xfv -
$ cd mono-2.4
$ ./configure --with-libgdiplus=/usr/local/lib/libgdiplus.la
# mv /usr/local/lib/mono /usr/local/lib/mono-
# make
# make install
Trouble Shooting †[edit]
mono-3.4.0 で make install の失敗 †[edit]
mono-3.2.3 のコンパイル (wth x86 CPU) でリンクエラー †[edit]
- 外部参照未解決: __sync_add_and_fetch_4, __sync_val_compare_and_swap_4
- CPU の機能関連のエラーらしい
- 3.2.1 ならOK
C# のコンパイルでエラーが出るとき †[edit]
Mono2.0 のコンパイルで System.Text.EncoderFallbackBuffer のエラー †[edit]
- /usr/local/lib/mono を削除,あるいはリネームする.
バージョンによっては /usr/local/lib/pkgconfig (/usr/lib/pkgconfig) の内容がおかしくなる †[edit]
- 2.4 辺りで追加になった PCファイル
- mono-lineeditor.pc
- mono-options.pc
- monodoc.pc