2010年1月20日水曜日

Parallel Mono Environments

についてのメモ。

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

~/.profile: 次を追加
  1. # added for Mono  
  2. . $HOME/bin/mono_env  
~/bin/mono_env:
  1. export MONO_HOME="/opt/mono/2.4.2.3"  
  2. export PATH="$MONO_HOME/bin:$PATH"  
  3. export LD_LIBRARY_PATH="$MONO_HOME/lib:$LD_LIBRARY_PATH"  
  4. export PKG_CONFIG_PATH="$MONO_HOME/lib/pkgconfig:$PKG_CONFIG_PATH"  
  5. export MANPATH="$MONO_HOME/share/man:$MANPATH"  
  6. export XDG_DATA_DIRS="$MONO_HOME/share:$XDG_DATA_DIRS"  
  7.   
  8. if [ -d "$HOME/lib" ] ; then  
  9.     export MONO_PATH="$HOME/lib"  
  10. fi  
~/.bashrc: 「sudo gacutil」コマンド使用時の対応を追加
  1. # added for Mono  
  2. alias sudo="sudo env PATH=$PATH"  

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

/etc/ld.so.conf.d/local.conf:
  1. # added for Mono  
  2. /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: 次を追加
  1. # added for mod_mono  
  2. export MONO_HOME="/opt/mono/2.4.2.3"  
  3. export PATH="$MONO_HOME/bin:$PATH"  
  4. export LD_LIBRARY_PATH="$MONO_HOME/lib:$LD_LIBRARY_PATH"  
  5. export MONO_IOMAP=all  
を設定している。

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

0 件のコメント:

コメントを投稿