Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Install Mono on Centos 5.5 using YUM

How do I install the Mono 2.6.7 runtime on CentOS 5.5 using YUM?

I know how to build Mono from the source. However, according to the page Getting Started With Mono Tools it is possible to install the binaries directly. I'd prefer to install the binaries to avoid having to install all the development pre-requisites on a server with little disk space.

Am I supposed to add a new repository description to YUM? I tried doing that, but I must have done it wrong, because "yum list mono-core" still says the old version (1.2.4-2.el5.centos).

And, why are the .rpm's called "mono-addon-" on the release server? It's a bit confusing. It sounds like the .rpm's are an add-on to Mono. I guess they mean they are an "add-on" to the server(?).

like image 261
octonion Avatar asked Aug 18 '10 08:08

octonion


2 Answers

I figured it out.

Create a new repository configuration file

cd /etc/yum.repos.d vi mono.repo 

Add the following lines to the file

[Mono] name=Mono Stack (RHEL_5) type=rpm-md baseurl=http://ftp.novell.com/pub/mono/download-stable/RHEL_5/ gpgcheck=1 gpgkey=http://ftp.novell.com/pub/mono/download-stable/RHEL_5/repodata/repomd.xml.key enabled=1 

Update the YUM cache to be on the safe side

yum clean all 

Install the Mono server stack

yum install monotools-addon-server 

The installed binaries will end up in "/opt/novell/mono/bin".

You should issue the following command to set up your shell environment so that it finds Mono, mcs and the other Mono tools

source /opt/novell/mono/bin/mono-addon-environment.sh 

Verify the version

mono --version  Mono JIT compiler version 2.6.7 (tarball Mon Jul 19 18:28:58 UTC 2010) Copyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.com         TLS:           __thread         GC:            Included Boehm (with typed GC and Parallel Mark)         SIGSEGV:       altstack         Notifications: epoll         Architecture:  amd64         Disabled:      none 

If you want the Mono environment to be permanent you can issue the following command.

cp /opt/novell/mono/bin/mono-addon-environment.sh /etc/profile.d 

Happy Mono'ing!!!

like image 157
2 revs, 2 users 93% Avatar answered Sep 24 '22 01:09

2 revs, 2 users 93%


In addition to octonion's post, if, like me, you want to use Apache mod_mono, you need to ensure you install the correct version of mod_mono by running the following, and it will get the right one:

yum install mod_mono-addon 

Don't just issue yum install mod_mono. It may install mod_mono 1.2 version from the CentOS extras repository and not what you're actually after.

As a reference, I was getting the following error in /var/log/httpd/error_log when running the incorrect mod_mono version:

Root directory: /
mod_mono and xsp have different versions. Expected '9', got 6 System.InvalidOperationException: mod_mono and xsp have different versions. Expected '9', got 6

It is a silly, but easy mistake to make if you new to this like me.

like image 45
Mark Avatar answered Sep 22 '22 01:09

Mark