[Mono-list] Building Mono on Windows

Giles Thomas giles.thomas at resolversystems.com
Wed May 26 08:57:37 EDT 2010

Atsushi Eno wrote:
> I have ended up to file the windows build breakage as a critical bug 
> awhile ago:
> https://bugzilla.novell.com/show_bug.cgi?id=605810
> Basically eglib migration is all of the cause of the issues.
> Just disable it by autogen.sh --with-glib=system.
> And you can't actually use mono without problem. Mono built from trunk 
> cannot build corlib and possibly other libs.
Thanks for that.  Still, it looks like it is building a DLL of some kind 
-- I'm getting /usr/src/mono/mcs/class/lib/basic/mscorlib.dll, size 
2,608,640 bytes.  Anyway, I've realised that the 2.6 branch might have 
all of the fixes I need, so I'll try checking that out and building it now.

As an aside, perhaps it's worth me explaining what we're ultimately 
trying to do.  We've got a big IronPython application [1], which is 
currently Windows-only, but ultimately we'd like to get it running on 
Linux and OS X via Mono.  We're trying to make sure it works on Mono for 
Windows as one of the first steps, for two reasons, both related to 

1. We've run the Mono Migration Analyzer and discovered that some of our 
third-party components use P/Invoke (unsurprisingly), so we're 
eliminating those dependencies, but because we're coding in a dynamic 
language we suspect that there may well be problems that the analyser 
has missed.  Because Mono on Windows lets P/Invokes through (we've 
confirmed that our third-party components work on it), we're hoping that 
we can use it to run the application to track down problems in parallel 
with the work to eliminate the third-party components.

2. We have a large GUI testing framework, which also uses P/Invoke.  It 
runs the application-under-test in-process, so if we want to test the 
behaviour of our application running under Mono, we need the test 
framework running under Mono.  Again, we've confirmed that the 
P/Invokery it does works on Mono under Windows, so once we have the app 
up and running, we should be able to run our test suite under Mono; this 
might also help as a long-term way of letting us run regular integration 
tests without having to invest in a build farm full of Macs...

The reason I'm trying to build Mono myself instead of using the packaged 
version is that the application is currently unable to run because of a 
bug that has been fixed on the SVN head but hasn't made its way into a 
release yet [2]; I also suspect that getting a big app like this running 
might throw up more bugs or find more unimplemented stuff, and we might 
wind up wanting to offer patches to the Mono codebase -- so the sooner 
we get going with building it ourselves, the better.

Anyhow, as I said, it looks like the bug that was blocking me is in the 
2.6 branch -- so I'll try building that and see if that gets me any further.



[1] http://www.resolversystems.com/products/resolver-one/
[2] http://www.mail-archive.com/mono-bugs@lists.ximian.com/msg74413.html

Giles Thomas
giles.thomas at resolversystems.com
+44 (0) 20 3051 2751

17a Clerkenwell Road, London EC1M 5RD, UK
VAT No.: GB 893 5643 79
Registered in England and Wales as company number 5467329.
Registered address: 843 Finchley Road, London NW11 8NA, UK

More information about the Mono-list mailing list