[Mono-list] Getting started

Jonathan Pryor jonpryor@vt.edu
Tue, 04 May 2004 08:51:12 -0400


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