2010年1月20日水曜日

Parallel Mono Environments

このエントリーをはてなブックマークに追加
についてのメモ。

ソースからビルドを行い、インストールした複数のバージョンの Mono 環境の共存、切替えについてだけど、以下の設定を使用している。

~/.profile: 次を追加
# added for Mono
. $HOME/bin/mono_env
~/bin/mono_env:
export MONO_HOME="/opt/mono/2.4.2.3"
export PATH="$MONO_HOME/bin:$PATH"
export LD_LIBRARY_PATH="$MONO_HOME/lib:$LD_LIBRARY_PATH"
export PKG_CONFIG_PATH="$MONO_HOME/lib/pkgconfig:$PKG_CONFIG_PATH"
export MANPATH="$MONO_HOME/share/man:$MANPATH"
export XDG_DATA_DIRS="$MONO_HOME/share:$XDG_DATA_DIRS"

if [ -d "$HOME/lib" ] ; then
    export MONO_PATH="$HOME/lib"
fi
~/.bashrc: 「sudo gacutil」コマンド使用時の対応を追加
# added for Mono
alias sudo="sudo env PATH=$PATH"

さらに、Ubuntu 9.04 では、「~/.profile」からの LD_LIBRARY_PATH の設定が有効にならない(2010.01.20 現在)ので

/etc/ld.so.conf.d/local.conf:
# added for Mono
/opt/mono/2.4.2.3/lib
を追加している(「/etc/ld.so.conf.d/local.conf」の追加および内容を修正した後は、「sudo ldconfig」を実行)。

各バージョンのインストール先を「/opt/mono/バージョン番号」として、「~/bin/mono_env」内の MONO_HOME に、有効にするバージョンの Mono インストール先を設定すればよい、ということになる。

Mono のサイトに Parallel Mono Environments というページがあり、当初これに気づかず、参考にはしなかったけど、ここに記述されている環境変数の設定(ソースビルド時の設定)にある、DYLD_LIBRARY_PATHC_INCLUDE_PATHACLOCAL_PATH および GNOME インストール先のパス設定などは、何回かソースからビルドしている(Mono 2.0 以降)けど、少なくとも Ubuntu 9.04 上では必要なかった(ビルド時も「~/bin/mono_env」の内容で事足りた(MONO_PATH の設定は不要))。

あと、Apache 2.2 用の環境変数として

/etc/apache2/envvars: 次を追加
# added for mod_mono
export MONO_HOME="/opt/mono/2.4.2.3"
export PATH="$MONO_HOME/bin:$PATH"
export LD_LIBRARY_PATH="$MONO_HOME/lib:$LD_LIBRARY_PATH"
export MONO_IOMAP=all
を設定している。

Mono 2.6 がリリースされて、もういい頃合いだと思うので、そろそろインストールしてみようと思う今日この頃。

0 件のコメント:

コメントを投稿