プログラミング勉強ノート

プログラミングで勉強した事を書いていきます。

mono 3.4.0 をソースコードからインストール(debian7)

  • mono3.4.0をdebian7にインストール。
  • インストール先は/opt/mono/3.4.0/にインストールした。
  • rootユーザーで作業を行う。

必要なパッケージをインストール

■開発ツールをインストール

aptitude install make gcc g++ automake libtool

■libgdiplusのビルドに必要なパッケージをインストール

aptitude install pkg-config libglib2.0-dev libjpeg8-dev libpng12-dev libtiff4-dev libgif-dev libx11-dev libfreetype6-dev libfontconfig1-dev libxrender-dev libcairo2-dev libexif-dev

■ mono 3.4.0のビルドに必要なパッケージをインストール

aptitude install bison gettext

ソースコード保存用のフォルダを作成

mkdir -p /opt/src/mono/

libgdiplus をインストール

ソースコード保存用のフォルダに移動しlibgdiplusのソースコードを取得

cd /opt/src/mono/
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.9.tar.bz2

ソースコードを解凍して解凍ソースの中に移動

tar -jxvf libgdiplus-2.10.9.tar.bz2
cd libgdiplus-2.10.9/

■ インストール先を指定してコンパイル、インストール

./configure --prefix=/opt/mono/3.4.0/
make
make install

mono 3.4.0 をインストール

ソースコード保存用のフォルダに移動しmono3.4.0のソースコードを取得

cd /opt/src/mono/
wget http://download.mono-project.com/sources/mono/mono-3.4.0.tar.bz2

ソースコードを解凍して解凍ソースの中に移動

tar -jxvf mono-3.4.0.tar.bz2
cd mono-3.4.0/

■ インストール先を指定してコンパイル

./autogen.sh --prefix=/opt/mono/3.4.0 --with-libgdiplus=installed
make

■ インストール前にファイルを追加する(mono3.4.0ではmake installに必要なtargetファイルが1つ漏れているらしいので手動で追加する)

echo -e \
"<Project xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">" \
"\n\t<Import Project=\"..\Microsoft.Portable.Core.props\" />" \
"\n\t<Import Project=\"..\Microsoft.Portable.Core.targets\" />" \
"\n</Project>" > \
/opt/src/mono/mono-3.4.0/mcs/tools/xbuild/targets/Microsoft.Portable.Common.targets

■ mono3.4.0をインストール

make install

パスの設定

■ インストールしたmonoフォルダをパスに追加する、monoを使用するユーザーの.bashrcに追記

export PATH=/opt/mono/3.4.0/bin:$PATH

■ .bashrc反映

source ~/.bashrc

■ mono のバージョン確認で今回インストールしたバージョンが表示されるか確認

mono --version

Mono JIT compiler version 3.4.0 (tarball 2014415日 火曜日 17:55:32 JST)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none
        Misc:          softdebug
        LLVM:          supported, not enabled.
        GC:            sgen

EXEファイルの実行方法

■ VisualStudioで作ったexeファイルを持ってきてmonoコマンドでexeファイルを指定する

mono ConsoleApplication1.exe