This mail is purely to document and bring out the issues that I have encountered while installing mono/mcs/mbas on Cygwin over XP.
With good pointers from Atsushi I was able to get HelloWorld program to be compiled and executed with both mcs and mbas within Cygwin environment. This is the patch ( not exactly a patch, but all workarounds ) that I used. Things to note: This workaround is essentially a product of discussions that happened a couple of days back in the following thread: http://lists.ximian.com/archives/public/mono-devel-list/2004-June/006661.html /* comments on workarounds to mono tree */ 1) This is not a patch but set of workarounds that served my purpose. 2) web/mono-build-w32.sh was patched as suggested in the following thread: There is one difference though. GC is disabled. ( If I enable GC both boehm as well as internal ) I get a hang. On closer scrutiny it seems mono takes a SIGSEGV as soon as it begins it's initialization. Can someone checkin the updated ( not this ) mono-build-w32.sh. Also GC neeeds to be made to work with XP builds as well. /* comments on workarounds to mcs tree */ 1) Again this is not a patch in true sense of the word, but set of workaround that served my purpose. 2) In mcs/build/library.make, I had to turn off intsallation in to gac and signing of assemblies. This is so as to avoid references to the mono runtime. ( When you are installing for the first time, you obviously don't have a mono runtime working already. ) Ideally Makefiles have to change so that references to mono runtime never happens when the install happens for the first time. 3) class/Mono.CSharp.Debugger/Makefile I had to replace the v .17 that's at the head currently and replace it with v 1.6 before patching it as specified in the original discussion thread. This needs to be fixed. 4) class/Novell.Directory.Ldap This is patched is from http://lists.ximian.com/archives/public/mono-devel-list/2004-July/006879.html Can the owner review and commit this ? I hope it is of some help to the community. Regards, Jambunathan K. Index: web/mono-build-w32.sh =================================================================== RCS file: /cvs/public/mono/web/mono-build-w32.sh,v retrieving revision 1.13 diff -u -r1.13 mono-build-w32.sh --- web/mono-build-w32.sh 19 Mar 2004 18:14:04 -0000 1.13 +++ web/mono-build-w32.sh 10 Jul 2004 07:01:04 -0000 @@ -47,7 +47,7 @@ fi fi -cvs checkout mono || exit -1 +cvs checkout mono mcs || exit -1 echo "Checking automake version" automake_required="1.6.2" @@ -191,7 +191,13 @@ # Build and install mono echo "Building and installing mono" -(cd $here/mono; ./autogen.sh --prefix=$prefix || exit -1; make || exit -1; make install || exit -1) || exit -1 + +(cd $here/mcs; ./configure --prefix=$prefix || exit -1; make || exit -1) || exit -1 + +(cd $here/mono; ./autogen.sh --prefix=$prefix --with-gc=none || exit -1; make || exit -1; make install || exit -1) || exit -1 + +(cd $here/mcs || exit -1; make install || exit -1) || exit -1 + echo "" /* Diff on the mcs tree */ Index: build/library.make =================================================================== RCS file: /cvs/public/mcs/build/library.make,v retrieving revision 1.43 diff -u -r1.43 library.make --- build/library.make 2 Jul 2004 08:54:08 -0000 1.43 +++ build/library.make 10 Jul 2004 06:08:43 -0000 @@ -100,12 +100,14 @@ else install-local: $(gacutil) - MONO_PATH="$(topdir)/class/lib/$(PROFILE):$$MONO_PATH" $(RUNTIME) $(gacutil) /i $(the_lib) /f /root $(GACDIR) /package $(PACKAGE) + # MONO_PATH="$(topdir)/class/lib/$(PROFILE):$$MONO_PATH" $(RUNTIME) $(gacutil) /i $(the_lib) /f /root $(GACDIR) /package $(PACKAGE) uninstall-local: $(gacutil) MONO_PATH="$(topdir)/class/lib/$(PROFILE):$$MONO_PATH" $(RUNTIME) $(gacutil) /u $(LIBRARY_NAME:.dll=) endif + +NO_SIGN_ASSEMBLY=yes ifndef NO_SIGN_ASSEMBLY all-local install-local: $(the_lib_signature_stamp) Index: class/Mono.CSharp.Debugger/Makefile =================================================================== RCS file: /cvs/public/mcs/class/Mono.CSharp.Debugger/Makefile,v retrieving revision 1.7 diff -u -r1.7 Makefile --- class/Mono.CSharp.Debugger/Makefile 2 Jul 2004 08:54:08 -0000 1.7 +++ class/Mono.CSharp.Debugger/Makefile 10 Jul 2004 06:08:46 -0000 @@ -3,13 +3,15 @@ include ../../build/rules.make LIBRARY = Mono.CSharp.Debugger.dll -LIBRARY_USE_INTERMEDIATE_FILE = yes - -LIB_MCS_FLAGS = /r:$(corlib) +LIB_MCS_FLAGS = /r:$(topdir)/class/lib/$(PROFILE)/$(corlib) NO_TEST = yes -ifeq (win32default, $(PLATFORM)$(PROFILE)) -LIBRARY_COMPILE = MONO_PATH="$(topdir)/class/lib/$(PROFILE);$$MONO_PATH" $(INTERNAL_MCS) $(USE_MCS_FLAGS) +ifeq (win32, $(PLATFORM)) +ifeq (net_2_0, $(PROFILE)) +LIBRARY_COMPILE = MONO_PATH="../lib/net_2_0_bootstrap$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(gmcs) $(USE_MCS_FLAGS) /define:NET_1_1 /define:NET_2_0 +else +LIBRARY_COMPILE = $(BOOT_COMPILE) +endif endif include ../../build/library.make Index: class/Novell.Directory.Ldap/Novell.Directory.Ldap/LdapAttributeSet.cs =================================================================== RCS file: /cvs/public/mcs/class/Novell.Directory.Ldap/Novell.Directory.Ldap/LdapAttributeSet.cs,v retrieving revision 1.4 diff -u -r1.4 LdapAttributeSet.cs --- class/Novell.Directory.Ldap/Novell.Directory.Ldap/LdapAttributeSet.cs 24 Jun 2004 21:48:00 -0000 1.4 +++ class/Novell.Directory.Ldap/Novell.Directory.Ldap/LdapAttributeSet.cs 10 Jul 2004 06:08:50 -0000 @@ -52,7 +52,7 @@ /// </seealso> /// <seealso cref="LdapEntry"> /// </seealso> - public class LdapAttributeSet:SupportClass.AbstractSetSupport, System.ICloneable//, SupportClass.SetSupport + public class LdapAttributeSet:AbstractSetSupport, System.ICloneable//, SupportClass.SetSupport { /// <summary> Returns the number of attributes in this set. /// Index: class/Novell.Directory.Ldap/Novell.Directory.Ldap/SupportClass.cs =================================================================== RCS file: /cvs/public/mcs/class/Novell.Directory.Ldap/Novell.Directory.Ldap/SupportClass.cs,v retrieving revision 1.5 diff -u -r1.5 SupportClass.cs --- class/Novell.Directory.Ldap/Novell.Directory.Ldap/SupportClass.cs 24 Jun 2004 21:48:47 -0000 1.5 +++ class/Novell.Directory.Ldap/Novell.Directory.Ldap/SupportClass.cs 10 Jul 2004 06:08:51 -0000 @@ -1631,15 +1631,6 @@ /// <summary> /// This class manages different operation with collections. /// </summary> - public class AbstractSetSupport : SetSupport - { - /// <summary> - /// The constructor with no parameters to create an abstract set. - /// </summary> - public AbstractSetSupport() - { - } - } /*******************************/ @@ -2163,4 +2154,14 @@ return collection.GetEnumerator(); } + } + + public class AbstractSetSupport : SupportClass.SetSupport + { + /// <summary> + /// The constructor with no parameters to create an abstract set. + /// </summary> + public AbstractSetSupport() + { + } } Index: class/Novell.Directory.Ldap/Novell.Directory.Ldap.Utilclass/RespExtensionSet.cs =================================================================== RCS file: /cvs/public/mcs/class/Novell.Directory.Ldap/Novell.Directory.Ldap.Utilclass/RespExtensionSet.cs,v retrieving revision 1.1 diff -u -r1.1 RespExtensionSet.cs --- class/Novell.Directory.Ldap/Novell.Directory.Ldap.Utilclass/RespExtensionSet.cs 3 Mar 2004 07:57:07 -0000 1.1 +++ class/Novell.Directory.Ldap/Novell.Directory.Ldap.Utilclass/RespExtensionSet.cs 10 Jul 2004 06:08:51 -0000 @@ -29,6 +29,7 @@ // (C) 2003 Novell, Inc (http://www.novell.com) // using System; + namespace Novell.Directory.Ldap.Utilclass { @@ -36,7 +37,7 @@ /// so that it can be used to maintain a list of currently /// registered extended responses. /// </summary> - public class RespExtensionSet:SupportClass.AbstractSetSupport + public class RespExtensionSet:AbstractSetSupport { /// <summary> Returns the number of extensions in this set. /// /* Diff on the mono tree */ _______________________________________________ Mono-list maillist - [EMAIL PROTECTED] http://lists.ximian.com/mailman/listinfo/mono-list
