[Mono-devel-list] RE: Problem building mono with cygwin

Vincent Sacksteder vincent at sacksteder.com
Thu May 15 06:31:02 EDT 2003


Resending a mail on the same topic from last March.  It often helps to read
the archives.....



 -----Original Message-----
From: 	Vincent Sacksteder [mailto:vincent at sacksteder.com]
Sent:	Tuesday, March 18, 2003 4:01 PM
To:	'mono-devel-list at lists.ximian.com'
Subject:	RE: A few problems with the Beginners Howto document

A correction to point 4:  I now think that autoconf is behaving correctly.
Instead configure.in is at fault: there is a conflict between the
GC_WIN32_THREADS #define in gc.h and the -DGC_WIN32_THREADS option which
configure.in (line 24) passes to the compiler when testing for the presence
of header files.  Because GC_WIN32_THREADS is defined twice, gcc generates a
warning, and therefore autoconf concludes that gc.h does not exist, and
therefore the build fails.

Some possible fixes would be either to:
1. temporarily redefine the  av_cpp variable before  testing for the
presence of gc.h (i.e. line 153 of configure.in,) or:
2. see if there's some way to get gcc to not print that warning about
GC_WIN32_THREADS being defined twice.

I haven't yet tried or tested either approach.

Regards,
	Vincent Sacksteder

 -----Original Message-----
From: 	Vincent Sacksteder [mailto:vincent at sacksteder.com]
Sent:	Monday, March 17, 2003 5:27 PM
To:	'mono-devel-list at lists.ximian.com'
Subject:	A few problems with the Beginners Howto document

Dear mono community:

	Concerning the document which specifies how to get started downloading and
compiling mono on Windows,
http://monoevo.sourceforge.net/mono-windows/mono-beginning-windows/x53.html:

	I would like to note the following problems:
1. I was not able to get the source code from cvs until I changed the
cvsroot away from that specified in the doc. My new cvsroot statement is:
export CVSROOT=:pserver:anonymous at anoncvs.go-mono.com:/mono
I put this in the shell script.

2. The compile failed until I changed the ACLOCAL_FLAGS variable to a value
different from that stated in the doc.  My new statement is:
export ACLOCAL_FLAGS="-I /home/install/share/aclocal"
Note too that it is not immediately obvious which path to pick, since there
are many aclocal directories and files.  It would be helpful to tell the
reader how to discern which aclocal path to use.

3. Toward the end of compile/install there are many failures in copying,
which are caused by the absence of certain dlls etc.  The errors are
ignored, which I think is the right thing since they correspond to things
built from the mcs tree.  It would be helpful to note in the doc that these
errors are innocuous.

4. Due to a bug in automake/configure/gcc, currently configure is unable to
detect header files.  The mono install script automatically checks for the
presence of gc.h, and if it is not detected aborts.  Therefore the mono
install script ALWAYS fails.

  It appears that you've seen the same problem, because at the end of your
doc there is a discussion of how to do a manual install "If you have noticed
problems during step 8 and the execution stops because of errors as I cannot
find that or such library or alike."

  I would suggest that until the automake bug is fixed, the following patch
to the mono install script be applied:
	a. in gc_wrapper.h, insert at the beginning a line reading:
#define HAVE_GC_GC_H
	b. in configure.in, search for the line reading:

AC_MSG_ERROR("Found libgc but not its header files! You may need to install
them by hand.")

	Replace it with the following line:

	AC_MSG_WARN([*** autoconf header bug workaround hack!])

	c. in configure.in, search for the line reading:

  	AC_MSG_ERROR("GC requested but header files not found! You may need to
install them by hand.")

	Replace it with the following line:

	AC_MSG_WARN([*** autoconf header bug workaround hack!])


With these changes in place, installation and compilation went through
succesfully for me.

I have reported the automake bug to the cygwin mailing list.

	Regards,
		Vincent Sacksteder






More information about the Mono-devel-list mailing list