[Mono-list] Mono/Mcs Install on Cygwin/XP ( for first timeusers )
Jambunathan Jambunathan
kjambunathan@novell.com
Sat, 10 Jul 2004 02:27:47 -0600
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 */