[Mono-list] Getting started

Abhishek Srivastava abhishes@hotmail.com
Wed, 5 May 2004 15:16:09 +0530


Hello All,

Red Carpet seems to be the favorite mode of installing mono.
However I have two questions

1. Will it work on Mandrake / Red Hat? (If not, is there an equivalent of
redcarpet on these flavors).
2.  Is it free?

Regards,
Abhishek.

-----Original Message-----
From: Jonathan Pryor [mailto:jonpryor@vt.edu] 
Sent: Tuesday, May 04, 2004 6:21 PM
To: abhishek srivastava
Cc: mono-list@lists.ximian.com
Subject: Re: [Mono-list] Getting started

On Tue, 2004-05-04 at 05:45, abhishek srivastava wrote:
<snip/>
> I have downloaded all the rpms. Is there any document giving me the 
> steps of installing mono?

Generally, the recommendation is to use Ximian Red Carpet, but manual RPM
installation is fairly straightforward.

> Sorry if this repeated question annoys you. Please give me the steps 
> of installation. I have dowloaded the rpms
> 
> cairo-0.1.17-0.ximian.6.1.i386.rpm           
> mod_mono-0.7-0.ximian.6.0.i386.rpm
> cairo-devel-0.1.17-0.ximian.6.1.i386.rpm
mono-0.31-1.ximian.6.0.i386.rpm
> gtk-sharp-0.17-0.ximian.6.0.i386.rpm         
> mono-devel-0.31-1.ximian.6.0.i386.rpm
> gtk-sharp-gapi-0.17-0.ximian.6.0.i386.rpm    
> monodoc-0.11-0.ximian.6.0.i386.rpm
> icu-2.6.1-1.ximian.6.3.i386.rpm              
> perl-XML-LibXML-1.54-1.ximian.6.1.i386.rpm
> libgdiplus-0.2-0.ximian.6.0.i386.rpm         
> perl-XML-LibXML-Common-0.13-1.ximian.6.1.i386.rpm
> libgdiplus-devel-0.2-0.ximian.6.0.i386.rpm   
> perl-XML-NamespaceSupport-1.08-1.ximian.6.1.i386.rpm
> libicu26-2.6.1-1.ximian.6.3.i386.rpm         
> perl-XML-NodeFilter-0.01-1.ximian.6.1.i386.rpm
> libicu-devel-2.6.1-1.ximian.6.3.i386.rpm     
> perl-XML-SAX-0.12-1.ximian.6.1.i386.rpm
> libpixman-0.1.0-1.ximian.6.2.i386.rpm        xsp-0.9-0.ximian.6.0.i386.rpm
> libpixman-devel-0.1.0-1.ximian.6.2.i386.rpm

The short answer is that you don't worry about the install order.  Let RPM
worry about that. :-)

In principal, you should be able to do this:

	$ rpm -ivh *.rpm

In practice, you might not be able to, as you might be missing required
packages.  For example, when I did this with the beta 1 take-3 packages, RPM
gave me errors for gtk-sharp-gapi, as I was missing a bunch of
perl-XML-* packages (which I see you have, but I didn't).  I wasn't
interested in installing all those packages, which brings us to an
alternative setup:

	# Get an editable list of all the RPMs
	$ ls -1 *.rpm > rpms.txt
	# edit rpms.txt to include only the RPMs that are easily 
	# installable
	$ rpm -ivh `cat rpms.txt`

The backtick (`) operator, not to be confused with a normal single quote
(it's the key to the left of `1'), executes the command within the
backticks, and substitutes the command's standard output in-place.  This
allows us to easily trim down the set of packages to install, so that you
minimize the extra packages you require.

Some of the required packages aren't part of mono.  For example, glib2-devel
may be required for some of the packages.  You'll have to manually install
such external dependencies.

If the RPMs you downloaded are for you distribution, that should be it. 
Edit "rpms.txt" to include the packages you want, use `rpm -i', and you're
done.

If the RPMs aren't for your distribution, it may be impossible or you may
need to do more work.  (For example, I installed the Red Hat 9 RPMs on
Fedora Core 2 Test 2, and they weren't a complete match.)  `rpm --nodeps'
can be your friend.  (FC2T2 has a "gtkhtml3" package installed, but
gtk-sharp wanted "gtkhtml3.0", even though they appear to be the same.  I
just installed gtk-sharp with --nodeps to permit
installation.)

 - Jon