Mono

From TCAdmin 2.0 Documentation

Contents

Pre-compiled Packages

CentOS 5/6 / Fedora 15 / Redhat 5 32bit

wget http://www.tcadmin.com/installer/mono-2.11.4-i386.rpm
yum -y install mono-2.11.4-i386.rpm --nogpgcheck
/opt/mono-2.11.4/bin/mozroots --import --sync --quiet
/opt/mono-2.11.4/bin/mono --aot -O=all /opt/mono-2.11.4/lib/mono/2.0/mscorlib.dll
for i in /opt/mono-2.11.4/lib/mono/gac/*/*/*.dll; do /opt/mono-2.11.4/bin/mono --aot -O=all $i; done

CentOS 5/6 / Fedora 15 / Redhat 5 64bit

wget http://www.tcadmin.com/installer/mono-2.11.4-x86_64.rpm
yum -y install mono-2.11.4-x86_64.rpm --nogpgcheck
/opt/mono-2.11.4/bin/mozroots --import --sync --quiet
/opt/mono-2.11.4/bin/mono --aot -O=all /opt/mono-2.11.4/lib/mono/2.0/mscorlib.dll
for i in /opt/mono-2.11.4/lib/mono/gac/*/*/*.dll; do /opt/mono-2.11.4/bin/mono --aot -O=all $i; done

Debian 6 32bit

wget http://www.tcadmin.com/installer/mono-2.11.4-i386.deb
apt-get update
dpkg -i mono-2.11.4-i386.deb
apt-get install -f
/opt/mono-2.11.4/bin/mozroots --import --sync --quiet
/opt/mono-2.11.4/bin/mono --aot -O=all /opt/mono-2.11.4/lib/mono/2.0/mscorlib.dll
for i in /opt/mono-2.11.4/lib/mono/gac/*/*/*.dll; do /opt/mono-2.11.4/bin/mono --aot -O=all $i; done

Debian 6 64bit

wget http://www.tcadmin.com/installer/mono-2.11.4-x86_64.deb
apt-get update
dpkg -i mono-2.11.4-x86_64.deb
apt-get install -f
/opt/mono-2.11.4/bin/mozroots --import --sync --quiet
/opt/mono-2.11.4/bin/mono --aot -O=all /opt/mono-2.11.4/lib/mono/2.0/mscorlib.dll
for i in /opt/mono-2.11.4/lib/mono/gac/*/*/*.dll; do /opt/mono-2.11.4/bin/mono --aot -O=all $i; done

Debian 8 64bit

wget http://www.tcadmin.com/installer/mono-2.11.4-x86_64_deb8.deb
apt-get update
dpkg -i mono-2.11.4-x86_64_deb8.deb
apt-get install -f
/opt/mono-2.11.4/bin/mozroots --import --sync --quiet
/opt/mono-2.11.4/bin/mono --aot -O=all /opt/mono-2.11.4/lib/mono/2.0/mscorlib.dll
for i in /opt/mono-2.11.4/lib/mono/gac/*/*/*.dll; do /opt/mono-2.11.4/bin/mono --aot -O=all $i; done

Ubuntu 10/11/12 32bit

wget http://www.tcadmin.com/installer/mono-2.11.4-i386.ubu.deb
apt-get update
dpkg -i mono-2.11.4-i386.ubu.deb
apt-get install -f
/opt/mono-2.11.4/bin/mozroots --import --sync --quiet
/opt/mono-2.11.4/bin/mono --aot -O=all /opt/mono-2.11.4/lib/mono/2.0/mscorlib.dll
for i in /opt/mono-2.11.4/lib/mono/gac/*/*/*.dll; do /opt/mono-2.11.4/bin/mono --aot -O=all $i; done

Ubuntu 10/11/12 64bit

wget http://www.tcadmin.com/installer/mono-2.11.4-x86_64.ubu.deb
apt-get update
dpkg -i mono-2.11.4-x86_64.ubu.deb
apt-get install -f
/opt/mono-2.11.4/bin/mozroots --import --sync --quiet
/opt/mono-2.11.4/bin/mono --aot -O=all /opt/mono-2.11.4/lib/mono/2.0/mscorlib.dll
for i in /opt/mono-2.11.4/lib/mono/gac/*/*/*.dll; do /opt/mono-2.11.4/bin/mono --aot -O=all $i; done

Build from Source (Optional)

NOTE: Building from source is optional and only recommended if you want to compile a different version of Mono.

The following Mono components are required by TCAdmin.

  • libgdiplus
  • mono
  • mono-basic
  • xsp

When using the commands below replace 2.11.4 with the version you are building. You can get the latest sources from http://download.mono-project.com/sources/

Install any missing dependencies shown by the configure command before running make.

Install Requirements

CentOS

yum -y install make glib2-devel libpng-devel libjpeg-devel giflib-devel libtiff-devel libX11-devel gcc-c++ fontconfig-devel bison gettext bzip2 libtool automake autoconf wget

Debian

apt-get install make pkg-config libglib2.0-dev libglib2.0-dev libpng12-dev libjpeg62-dev libgif-dev libX11-dev libfontconfig1-dev libfreetype6-dev bison g++ gettext libtool

Ubuntu

apt-get install gcc build-essential pkg-config libglib2.0-dev libpng12-dev libjpeg62-dev libgif-dev libX11-dev libfontconfig1-dev libfreetype6-dev bison gettext libtool

Build libgdiplus

Libgdiplus must be installed with support for png, jpg and gif. This is required by the default and custom themes. The commands above should install these libraries.

wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2
tar xjvf libgdiplus-2.10.tar.bz2 > /dev/null
cd libgdiplus-2.10
export echo=echo
./configure --prefix=/opt/mono-2.11.4
make > /dev/null
make install > /dev/null

Build mono

wget http://download.mono-project.com/sources/mono/mono-2.11.4.tar.bz2
tar xjvf mono-2.11.4.tar.bz2 > /dev/null
cd mono-2.11.4
export echo=echo
./configure  --with-large-heap=yes --prefix=/opt/mono-2.11.4 --with-libgdiplus=/opt/mono-2.11.4 --with-moonlight=no
make > /dev/null
make install > /dev/null

Build mono-basic

wget http://download.mono-project.com/sources/mono-basic/mono-basic-2.10.tar.bz2
tar xjvf mono-basic-2.10.tar.bz2 > /dev/null
cd mono-basic-2.10
export echo=echo
PATH=$PATH:/opt/mono-2.11.4/bin PKG_CONFIG_PATH=/opt/mono-2.11.4/lib/pkgconfig ./configure --prefix=/opt/mono-2.11.4
PATH=$PATH:/opt/mono-2.11.4/bin PKG_CONFIG_PATH=/opt/mono-2.11.4/lib/pkgconfig make > /dev/null
PATH=$PATH:/opt/mono-2.11.4/bin PKG_CONFIG_PATH=/opt/mono-2.11.4/lib/pkgconfig make install > /dev/null

Build xsp

wget http://download.mono-project.com/sources/xsp/xsp-2.10.2.tar.bz2
tar xjvf xsp-2.10.2.tar.bz2 > /dev/null
cd xsp-2.10.2
export echo=echo
PATH=$PATH:/opt/mono-2.11.4/bin PKG_CONFIG_PATH=/opt/mono-2.11.4/lib/pkgconfig ./configure --prefix=/opt/mono-2.11.4
PATH=$PATH:/opt/mono-2.11.4/bin PKG_CONFIG_PATH=/opt/mono-2.11.4/lib/pkgconfig make > /dev/null
PATH=$PATH:/opt/mono-2.11.4/bin PKG_CONFIG_PATH=/opt/mono-2.11.4/lib/pkgconfig make install > /dev/null

Post Build Steps

  1. Update the file /home/tcadmin/Monitor/mono-config with the path to your mono build.
  2. Restart the monitor and serviceman services:
cd /home/tcadmin/Monitor
./monitor-service restart
./serviceman-service restart