[Mono-list] Building Mono on Windows
Giles Thomas
giles.thomas at resolversystems.com
Mon May 24 14:13:56 EDT 2010
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
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