[Mono-dev] compile mono on windows

Frank Fuchs fk.fuchs at googlemail.com
Wed Apr 13 02:55:06 EDT 2011


>
> On 12.04.2011 08:56, Frank Fuchs wrote:
> > Hi,
> > I think I finally manged to build mono (2.10.1) on windows using mingw-w64
> > (TDM build) together with the patches from here:
> > https://build.opensuse.org/package/files?package=mingw64-mono&project=windows%3Amingw%3Awin64.
> > I did end up with a libmono-2.0.a and libmono-2.0.dll.
> > What is missing in comparison to the distributed binaries is the contents of
> > $MONO/lib/mono.
> > Now I think I am a little confused about the mono/mcs compilation. As far as
> > I understood it the missing stuff would be build when building mcs. Do I
> > need a working (external) mono/mcs to build mcs? What does it take to build
> > a working combination for 64 bit? Is it sufficient to have a 64 bit mono or
> > does mcs need to take care about 32 vs. 64 bit as well? Could I just
> > complete my build with the distributed mcs?
>
> If you're building from a tarball, a basic mcs deployed with
> the tarball will be used to build the mcs tree. This happens
> automatically, unless you're suppressing the build with
> --disable-mcs-build. If the build is still failing then
> you should post the error messages, because otherwise we
> can't help. If the error message is something like
> "mcs is unusable", then your compiled runtime is most
> likely broken.
>
> If you're building from git, an existing mono installation
> is required (its "bitness" is irrelevant).
>
> Robert
>
> Ok thank you. For some strage reason mcs doe not build when I use
build-mingw32.sh, although it is enabled.
Anyway I tried to build using "make EXTERNAL_MCS= ... EXTERNAL_RUNTIME=... "
(refering to a copied Mono-2.10.1 install) which ended up with errors like:
MCS [basic] mscorlib.dll source file $PATH_MSYS/noconfig could not be found.
I think it's related to the misinterpretation of /options by MSys which
expects -options.
I tried to change all occurences onf such commands but might screwed it up
somewhere along the way.
The error is now:
MCS [basic] mscorlib.dll
Assembly\AssemblyInfo.cs(54,12) error CS8088: Your .Net Runtime does not
support 'AssemblyVersionAttribute'. Please use the latest runtime instead.
.....
and (translated from the german output)
Unhandled Exception: System.ArgumentException: The constant does not match
the defined type.
in System.Reflection.Emit.TypeBuilder.SetConstantValue(Module module,Int32
... )
...
in System.CSharp.Driver.Main(String[] args)

If this is not a known error pattern please do not dig too much into it. It
might be very well my own fault.
However, I'm asking myself whether or not I could try to go with the mcs as
it is distributed for windows.
A very small "Hello world" test showed that my compiled mono seems be able
to run assemblies from the distribution, including dmcs.exe. Is this
worthwhile or is it doomed to fail?

Frank
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20110413/7eb946f2/attachment.html 


More information about the Mono-devel-list mailing list