[Mono-list] CVS compiling

Nick Drochak ndrochak@gol.com
Thu, 7 Nov 2002 19:19:54 +0900


| -----Original Message-----
| From: mono-list-admin@ximian.com [mailto:mono-list-admin@ximian.com]On
| Behalf Of Attila Goda
| Sent: Thursday, November 07, 2002 3:48 PM
| To: mono-list@ximian.com
| Subject: [Mono-list] CVS compiling
|
|
| Hi!
|
| I tired to compile the current CVS under RedHat 8.0, but I have a problem.
| First I compiled the mono, with ./configure --prefix=/usr/local. It was
| successful, and it creaded a corlib and other dlls with 0 byte size.
| After I tired to complie the mcs, but it call the mcs compiler
| and it died
| because it need corlib.dll and others.

It's not a problem.  It's a feature :)

The 'make install' of mono wipes out those dll's so that you are forced to
provide ones that match the mono you just built.  mono and corlib.dll can be
thought of as two parts of the same package and need to be kept carefully in
sync.  Other dll's often rely on certain features of the runtime as well.

Normally those dll's will be available in the mcs directory which resides in
the same subdirectory as your mono directory.  However, the only way they
will be there is if you were able to do a make in that mcs directory.

You have discovered, of course, that you cannot do a make in mcs.  This is
because you need an install of the mcs compiler and the mono runtime to do
so; just like you need a c compiler to build gcc.

The easiest way to escape this chick-and-egg problem is to install mono and
mcs from a pre-built package you can get from the
http://www.go-mono.org/download.html website.  Once you've done that you'll
be able to get mcs from cvs and build it (probably).  Then you can go to the
mono directory and build and install it.  At that point you'll have a new
set of mcs, dll's and mono runtime that all work together.

It's a common problem, so don't sweat it too much. And just ask again here
if you need more help.

Good luck,
Nick D.