Installing & Compiling Mono and Nant and setting up GIT on CentOS 5.3
1st step is to insure that CentOS 5.3 is fully updated by performing a "yum upgrade"
once the system is updated and restarted continue on.
we will start by 1st un-installing any included mono packages.
please insure the following packages are removed
Code:
yum erase libgdiplus.i386 libgdiplus-devel.i386 mod_mono.i386 mono-core.i386 mono-data.i386 mono-data-firebird.i386 mono-data-oracle.i386 mono-data-postgresql.i386 mono-data-sqlite.i386 mono-data-sybase.i386 mono-devel.i386 mono-extras.i386 mono-jscript.i386 mono-locale-extras.i386 mono-nunit.i386 mono-nunit-devel.i386
It is likely these packages may not be installed, if not just move on we do not want them installed.
Code:
libgdiplus.i386 : libgdiplus: An Open Source implementation of the GDI+ API
libgdiplus-devel.i386 : Development files for libgdiplus
mod_mono.i386 : A module to deploy an ASP.NET application on Apache with Mono
mono-core.i386 : The Mono CIL runtime, suitable for running .NET code
mono-data.i386 : Database connectivity for Mono
mono-data-firebird.i386 : Firebird database connectivity for Mono
mono-data-oracle.i386 : Oracle database connectivity for Mono
mono-data-postgresql.i386 : Postgresql database connectivity for Mono
mono-data-sqlite.i386 : sqlite database connectivity for Mono
mono-data-sybase.i386 : Sybase database connectivity for Mono
mono-devel.i386 : Development tools for Mono
mono-extras.i386 : Provides the infrastructure for running and building daemons
: and services with Mono as well as various stub assemblies
mono-jscript.i386 : JScript .NET support for Mono
mono-locale-extras.i386 : Extra locale information for Mono
mono-nunit.i386 : NUnit Testing Framework
mono-nunit-devel.i386 : pkgconfig for nunit
once you have insured these packages are not installed, now lets install a basic mono v2.4 base
enter the following line to download mono 2.4
Code:
wget http://wiki.ossafe.org/download/attachments/426003/mono2-2.4-ossafe_2.i386.rpm
now to install it: (super user required)
Code:
rpm -ivh mono2-2.4-ossafe_2.i386.rpm
now insure mono 2.4 is working:
Code:
mono -V
once you have verified mono 2.4 is installed lets install some required packages now (super user required)
Code:
yum install libtool.i386 libpng.i386 libpng-devel.i386 libjpeg.i386 libjpeg-devel.i386 libtiff.i386 libtiff-devel.i386 libexif.i386 libexif-devel.i386 giflib.i386 giflib-devel.i386 bison.i386 bison-devel.i386 automake.noarch autoconf.noarch make.i386 gcc.i386 gtk+.i386 subversion.i386 libX11-devel.i386 freetype.i386 freetype-devel.i386 gettext.i386 glib2 glib2-devel
ok confirm and install all of these above packages before continuing on i also suggest you reboot the server at this time.
Before continuing on to the next steps be sure you have exited "su" and that you are back in your normal user space, this is very important step!!now lets get the most current version of mono 2.5+ daily tarball installed
(replace all instances of <user> with your actual linux login name)Libgdigplus is required for mono 2
libgdiplus from Tarball:http://mono.ximian.com/monobuild/snapshot/sources-trunk/download the snapshot (libgdiplus-xxxxxx.tar.bz2) for libgdiplus that is available at the time you click the link above.
tar xfv libgdiplus-xxxxxx.tar.bz2
cd libgdiplus-xxxxxx
./configure --prefix=/home/
<user>/bin/mono
make
make install
Mono From Tarball:http://mono.ximian.com/monobuild/snapshot/sources-trunk/download the snapshot (mono-xxxxxx.tar.bz2) for mono that is available at the time you click the link above.
tar xfv mono-xxxxxx.tar.bz2
cd mono-xxxxxx
./configure --prefix=/home/
<user>/bin/mono
make
make install
now to add mono configurations to your user space edit the .bashrc file in your /home/<user> and insert and adjust the following for your specific install .
export PATH="/home/<user>/bin/mono/bin:$PATH"
export PKG_CONFIG_PATH="/home/<user>/bin/mono/lib/pkgconfig:$PKG_CONFIG_PATH"
export MANPATH="/home/<user>/bin/mono/share/man:$MANPATH"
export LD_LIBRARY_PATH="/home/<user>/bin/mono/lib:$LD_LIBRARY_PATH"
export MONO_THREADS_PER_CPU=75
you can now restart your SSH session or user login to refresh the settings.
now to verify mono is working type:
Code:
mono -V
you should see something like the following (#'s and Dates will vary)
---------------------------------------
Code:
Mono JIT compiler version 139892 (tarball Thu Aug 13 23:02:13 MST 2009)
Copyright (C) 2002-2008 Novell, Inc and Contributors. http://www.mono-project.com
TLS: __thread
GC: Included Boehm (with typed GC and Parallel Mark)
SIGSEGV: altstack
Notifications: epoll
Architecture: x86
Disabled: none
---------------------------------------
Next we will install Nant binaries and insure its functionality
Download Nant:Untar it tar xzf nant-0.85-bin.tar.gz -C /home/<user>/bin/mono/
create a nant file with nanonano /home/<user>/bin/mono/nant
now paste in the following into nanomono /home/<user>/bin/mono/bin/NAnt.exe
and now press ctrl+x and type "y" then enter to savenow set the nant file to executablechmod +x /home/<user>/bin/mono/nant
now lets test that nant is workingtype "cd ~" to go to your home folder
then type "nant"
you should see the following:
---------------------------------------
Code:
NAnt 0.85 (Build 0.85.2478.0; release; 10/14/2006)
Copyright (C) 2001-2006 Gerry Shaw
http://nant.sourceforge.net
BUILD FAILED
Could not find a '*.build' file in '/home/nebadon'
For more information regarding the cause of the build failure, run the build again in debug mode.
Try 'nant -help' for more information
---------------------------------------
you now have successfully installed nant and mono
now lets get some git!
enter the following commands (super user required)
wget
ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/i386/RPMS/perl-Error-0.17008-1.el5.kb.noarch.rpmwget
ftp://ftp.pbone.net/mirror/ftp.kernel.org/pub/software/scm/git/testing/git-1.5.6.rc3-1.i386.rpmwget
ftp://ftp.pbone.net/mirror/ftp.kernel.org/pub/software/scm/git/testing/perl-Git-1.5.6.rc3-1.i386.rpmwget
ftp://ftp.pbone.net/mirror/ftp.kernel.org/pub/software/scm/git/testing/git-core-1.5.4.rc5-1.i386.rpmrpm -ivh --force --nodeps perl-Error-0.17008-1.el5.kb.noarch.rpm
rpm -ivh --force --nodeps git-1.5.6.rc3-1.i386.rpm
rpm -ivh --force --nodeps perl-Git-1.5.6.rc3-1.i386.rpm
rpm -ivh --force --nodeps git-core-1.5.4.rc5-1.i386.rpm
now lets insure git is installed type:
git --version
you should see:
git version 1.5.4.rc5
and thats a wrap, your machine is now set to download and compile the opensimulator source code.
please report any issues with this process here.