ヒマをみつけてWeb開発
その場の思い付きを、ヒマをみつけてWebサイトにしてみるブログ

CentOS5.4で、mono2.6.1をソースからビルド

Thursday, 25 February 2010 19:29 by sabro

Linux Monoで、BlogEngine.NETを動かすで書いたとおり、Mono2.0以上では、うちのクリエモンが動かなかったのですが、やっぱり最近のバージョンの方がパフォーマンスも上がってるだろうし、もっかい試してみんべってことで、mono-2.6.1をソースからビルドしてみました。openSUSE向けならバイナリもあるみたいですが、さぶろーが使ってるCentOSでは、ソースから入れないとダメみたいです。

前提として、今回使用するマシンには、以前古いバージョンのMonoをソースから入れた気がするので、OSインストール直後のまっさらな状態だと、もっと依存ライブラリのエラーが出るかもしれません、注意。(たしか、画像関連のライブラリと、apacheの開発用パッケージが必要だった気がする)

さぶろーの場合、あくまでもWebサイトをホストするのが目的なので、簡易ASP.NETサーバのXSPと、ApacheのMonoモジュールであるmod_monoも入れることにします。あと、System.Drawing名前空間のクラスを使う場合は、libgdiplusも必要です。クリエモンは画像のアップロードで、該当クラスを使ってるので、こっちも入れます。

また、ソースからインストールすると削除するときなど手動では大変なので、ソースコードパッケージを管理できるPacoっていうツールを使います。make installするときに、次のようにかませて使います。 # paco -D make install

必要なパッケージをダウンロード
Mono 2.6.1 Sourcesからソースパッケージをダウンロード、解凍します。 さぶろーは、以下のパッケージをダウンロードしました。
  • libgdiplus-2.6
  • mono-2.6.1
  • xsp-2.6
  • mod_mono-2.6
libgdiplusをビルド
# cd libgdiplus-2.6 
# ./configure 
# make 
# paco -D make install 
monoをビルド
# cd mono-2.6.1 
# ./configure 
# make 
# paco -D make install 
xspをビルド
# cd xsp-2.6 
# ./configure 
# make 
と、ここまでやったところでエラーが( ̄□  ̄ ||
/usr/local/bin/mcs -pkg:dotnet -r:System.Xml.dll -target:library -out:SiteMapReader_1.1.dll SiteMapReader_1.1.cs Package dotnet was not found in the pkg-config search path. Perhaps you should add the directory containing `dotnet.pc' to the PKG_CONFIG_PATH environment variable No package 'dotnet' found error CS8027: Error running pkg-config. Check the above output.
メッセージの通りに、PKG_CONFIG_PATHを設定してあげたらうまくいきました( ̄∇  ̄ )
# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
# make
# paco -D make install 
mod_monoをビルド
# cd mod_mono-2.6
# ./configure
# make
# paco -D make install

割とすんなり終了。やっぱ、前回入れたからかな。あんまり参考にならないエントリでした・・・。

Tags:  
Categories:   .NET
Actions:   Permalink | Comments (53) | Comment RSSRSS comment feed