Hi all, I'm trying to build Mono on Windows, and have hit a problem which I'm struggling to work my way around -- I'd be grateful for any help.
Here's the error message: ---------- make[8]: Entering directory `/usr/src/mono/mcs/tools/gacutil' Creating ../../build/deps/gacutil.exe.response ... MCS [basic] gacutil.exe The assembly mscorlib.dll was not found or could not be loaded. It should have been installed in the `C:\cygwin\usr\src\mono\mono\mono\mini\lib\ mono\2.0\mscorlib.dll' directory. make[8]: *** [../../class/lib/basic/gacutil.exe] Error 1 ---------- There don't appear to have been any problems at the point earlier in the build when it was making mscorlib.dll, and I can see that there do appear to be targets in the makefile there that would copy the DLL to somewhere appropriate-looking, but it doesn't look like those targets are being built. Here's the build output from the relevant directory: ---------- make[7]: Entering directory `/usr/src/mono/mcs/class/corlib' Creating ../../build/deps/basic_corlib.dll.makefrag ... make[7]: Leaving directory `/usr/src/mono/mcs/class/corlib' make[7]: Entering directory `/usr/src/mono/mcs/class/corlib' make all-local make[8]: Entering directory `/usr/src/mono/mcs/class/corlib' Creating ../../build/deps/basic_corlib.dll.response ... /bin/sh.exe ./../../mkinstalldirs ../../class/lib/basic/tmp/ mkdir -p -- ../../class/lib/basic/tmp/ touch ../../class/lib/basic/tmp//.stamp MCS [basic] mscorlib.dll System.Reflection.Emit\PropertyBuilder.cs(63,36): warning CS0414: The private fi eld `System.Reflection.Emit.PropertyBuilder.callingConvention' is assigned but i ts value is never used System.Runtime.Remoting.Contexts\Context.cs(67,22): warning CS0649: Field `Syste m.Runtime.Remoting.Contexts.Context.frozen' is never assigned to, and will alway s have its default value `false' System.Runtime.Remoting.Messaging\ReturnMessage.cs(45,21): warning CS0414: The p rivate field `System.Runtime.Remoting.Messaging.ReturnMessage._outArgsCount' is assigned but its value is never used System.Security.Permissions\KeyContainerPermission.cs(38,69): warning CS0649: Fi eld `System.Security.Permissions.KeyContainerPermission._accessEntries' is never assigned to, and will always have its default value `null' Compilation succeeded - 4 warning(s) : -R ../../class/lib/basic/tmp/mscorlib.dll ./../../class/mono.snk : -v ../../class/lib/basic/mscorlib.dll make[8]: Leaving directory `/usr/src/mono/mcs/class/corlib' make[7]: Leaving directory `/usr/src/mono/mcs/class/corlib' ---------- Here's a bit more detail about what I've done so far, in case any of it's relevant. I'm following the instructions on this excellent (but, I think, slightly out of date) blog post: <http://shana.worldofcoding.com/en/mono_cygwin_tutorial.html>, which is linked from the Mono website. * I created a fresh Cygwin install, with the packages described, with the path set up appropriately for the new packaged Mono install location. * I checked out the mono and mcs repositories from svn://anonsvn.mono-project.com/source/trunk/ into /usr/src/mono in a freshly-created Cygwin system. * I installed make 3.80 from the Mono website -- it needed libintl2 in addition to the other Cygwin packages mentioned in the blog post. (Now that Cygwin has 3.81 in its package repo, I imagine that this might no longer be necessary, but I felt it was worth sticking with what was meant to work...) * I ran ./autogen.sh --prefix=/usr/local in /usr/src/mono/ -- it initially gave a bunch of errors, apparently due to DOS line endings in eglib/autogen.sh. However, I wasn't sure if these were expected... * ...so I ran make, and got "mv: cannot stat `t-es.gmo': No such file or directory" * Google pointed me here <http://lists.ximian.com/pipermail/mono-list/2008-September/039671.html>, so I installed gettext-devel as advised. * This fixed that problem (thanks, Robert Jordan!) and a new autogen followed by a make got further, now bombing out with "configure: WARNING: no configuration information is in eglib". * This was almost certainly caused by the DOS line endings in eglib/autogen.sh meaning that no Makefile was generated there by autogen, so I converted that file to use Unix line endings. (If it's worth checking this fixed version in, I'm happy to do so if anyone can point me in the right direction.) * I re-ran autogen, which didn't give errors in eglib this time, and ran make. * I got the error reported at the start of this email, and spend some time trying to work out what was happening vs what was meant to be happening, and got nowhere. So, any help would be very much appreciated! Best regards, Giles -- Giles Thomas [email protected] +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 _______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
