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

Reply via email to