Building Mono on Windows 10 / Cygwin

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Building Mono on Windows 10 / Cygwin

R Zaghi
Hi folks

Can you please check if the sequence of commands that I am using to build Mono on Windows 10 from source is correct?
Maybe the steps need changing or I am missing a step - I want to make sure that I am doing it right.

Linux and Mac are easy but building on Windows is proving a little bit of a challenge.


##  (01)  ##

$ cd mono && git checkout mono-5.4.1.4   # Latest tag when I doing this
$ make get-monolite-latest
$ export PREFIX=/cygdrive/c/mono_x64    # THIS PATH DOES NOT EXIST YET
$ export PATH=$PREFIX/bin:$PATH
$ ./autogen.sh --prefix=$PREFIX --host=x86_64-w64-mingw32 --disable-boehm # THIS GOES WELL
...
# NO ISSUES SO FAR

$ export PATH=/cygdrive/c/mono/msvc/build/sgen/x64/bin/Release/:$PATH
$ export MONO_EXECUTABLE=/cygdrive/c/mono/msvc/build/sgen/x64/bin/Release/mono-sgen.exe    # I HAVE THE EXE BUT FROM AN OLD RUN OF MAKE
$ make -j4

$ cd msvc
$ setup-solution.bat  # I HAD TO CHANGE THIS TO REMOVE "-debug" AND THEN IT WORKED WELL

$ /cygdrive/c/Program\ Files\ \(x86\)/MSBuild/14.0/Bin/MSBuild.exe /p:PlatformToolset=v140 /p:Platform=x64 /p:Configuration=Release /p:MONO_TARGET_GC=sgen msvc/mono.sln    # IS THIS ENOUGH OR DO I NEED TO BUILD IN MSVS AS WELL ?


## (02) ##
I tried to open and build mono.sln in MSVS 2017 and build it.
Many of the projects including classlibs.sln build just fine, however many of the projects are also failing.
I can see gen_*.cs file missing for example.
Am I missing something?


Thanks
Ramin



_______________________________________________
Mono-devel-list mailing list
[hidden email]
http://lists.dot.net/mailman/listinfo/mono-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: Building Mono on Windows 10 / Cygwin

Ludovic Henry (XAMARIN) via Mono-devel-list
Hey,

Please ignore setup-solution.bat and classlibs.sln, they are from an experiment of building the class libraries with msbuild but that isn't done yet (the only supported way of building the class libraries is via make).

To your question:
You need to build the runtime _before_ building the class libraries. So you need to run the "/cygdrive/c/Program\ Files\ \(x86\)/MSBuild/14.0/Bin/MSBuild.exe ..." and "export MONO_EXECUTABLE=..." before running "make -j4".
You don't need to set PATH. Other than that it looks good ;)

- Alex


> On 9 Nov 2017, at 19:16, R Zaghi <[hidden email]> wrote:
>
> Hi folks
>
> Can you please check if the sequence of commands that I am using to build Mono on Windows 10 from source is correct?
> Maybe the steps need changing or I am missing a step - I want to make sure that I am doing it right.
>
> Linux and Mac are easy but building on Windows is proving a little bit of a challenge.
>
>
> ##  (01)  ##
>
> $ cd mono && git checkout mono-5.4.1.4   # Latest tag when I doing this
> $ make get-monolite-latest
> $ export PREFIX=/cygdrive/c/mono_x64    # THIS PATH DOES NOT EXIST YET
> $ export PATH=$PREFIX/bin:$PATH
> $ ./autogen.sh --prefix=$PREFIX --host=x86_64-w64-mingw32 --disable-boehm # THIS GOES WELL
> ...
> # NO ISSUES SO FAR
>
> $ export PATH=/cygdrive/c/mono/msvc/build/sgen/x64/bin/Release/:$PATH
> $ export MONO_EXECUTABLE=/cygdrive/c/mono/msvc/build/sgen/x64/bin/Release/mono-sgen.exe    # I HAVE THE EXE BUT FROM AN OLD RUN OF MAKE
> $ make -j4
>
> $ cd msvc
> $ setup-solution.bat  # I HAD TO CHANGE THIS TO REMOVE "-debug" AND THEN IT WORKED WELL
>
> $ /cygdrive/c/Program\ Files\ \(x86\)/MSBuild/14.0/Bin/MSBuild.exe /p:PlatformToolset=v140 /p:Platform=x64 /p:Configuration=Release /p:MONO_TARGET_GC=sgen msvc/mono.sln    # IS THIS ENOUGH OR DO I NEED TO BUILD IN MSVS AS WELL ?
>
>
> ## (02) ##
> I tried to open and build mono.sln in MSVS 2017 and build it.
> Many of the projects including classlibs.sln build just fine, however many of the projects are also failing.
> I can see gen_*.cs file missing for example.
> Am I missing something?
>
>
> Thanks
> Ramin
>
>
> _______________________________________________
> Mono-devel-list mailing list
> [hidden email]
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.dot.net%2Fmailman%2Flistinfo%2Fmono-devel-list&data=02%7C01%7Calkpli%40microsoft.com%7C32ea20e897184a05ea9408d5279dff48%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636458481915701156&sdata=IBwgB8SydacuNkCHiEcOcMQSOUQziNvX7Q75M9r3daw%3D&reserved=0

_______________________________________________
Mono-devel-list mailing list
[hidden email]
http://lists.dot.net/mailman/listinfo/mono-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: Building Mono on Windows 10 / Cygwin

R Zaghi
Thanks Alex

On Fri, 10 Nov 2017 at 00:31, Alexander Köplinger <[hidden email]> wrote:
Hey,

Please ignore setup-solution.bat and classlibs.sln, they are from an experiment of building the class libraries with msbuild but that isn't done yet (the only supported way of building the class libraries is via make).

To your question:
You need to build the runtime _before_ building the class libraries. So you need to run the "/cygdrive/c/Program\ Files\ \(x86\)/MSBuild/14.0/Bin/MSBuild.exe ..." and "export MONO_EXECUTABLE=..." before running "make -j4".
You don't need to set PATH. Other than that it looks good ;)

- Alex


> On 9 Nov 2017, at 19:16, R Zaghi <[hidden email]> wrote:
>
> Hi folks
>
> Can you please check if the sequence of commands that I am using to build Mono on Windows 10 from source is correct?
> Maybe the steps need changing or I am missing a step - I want to make sure that I am doing it right.
>
> Linux and Mac are easy but building on Windows is proving a little bit of a challenge.
>
>
> ##  (01)  ##
>
> $ cd mono && git checkout mono-5.4.1.4   # Latest tag when I doing this
> $ make get-monolite-latest
> $ export PREFIX=/cygdrive/c/mono_x64    # THIS PATH DOES NOT EXIST YET
> $ export PATH=$PREFIX/bin:$PATH
> $ ./autogen.sh --prefix=$PREFIX --host=x86_64-w64-mingw32 --disable-boehm # THIS GOES WELL
> ...
> # NO ISSUES SO FAR
>
> $ export PATH=/cygdrive/c/mono/msvc/build/sgen/x64/bin/Release/:$PATH
> $ export MONO_EXECUTABLE=/cygdrive/c/mono/msvc/build/sgen/x64/bin/Release/mono-sgen.exe    # I HAVE THE EXE BUT FROM AN OLD RUN OF MAKE
> $ make -j4
>
> $ cd msvc
> $ setup-solution.bat  # I HAD TO CHANGE THIS TO REMOVE "-debug" AND THEN IT WORKED WELL
>
> $ /cygdrive/c/Program\ Files\ \(x86\)/MSBuild/14.0/Bin/MSBuild.exe /p:PlatformToolset=v140 /p:Platform=x64 /p:Configuration=Release /p:MONO_TARGET_GC=sgen msvc/mono.sln    # IS THIS ENOUGH OR DO I NEED TO BUILD IN MSVS AS WELL ?
>
>
> ## (02) ##
> I tried to open and build mono.sln in MSVS 2017 and build it.
> Many of the projects including classlibs.sln build just fine, however many of the projects are also failing.
> I can see gen_*.cs file missing for example.
> Am I missing something?
>
>
> Thanks
> Ramin
>
>
> _______________________________________________
> Mono-devel-list mailing list
> [hidden email]
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.dot.net%2Fmailman%2Flistinfo%2Fmono-devel-list&data=02%7C01%7Calkpli%40microsoft.com%7C32ea20e897184a05ea9408d5279dff48%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636458481915701156&sdata=IBwgB8SydacuNkCHiEcOcMQSOUQziNvX7Q75M9r3daw%3D&reserved=0

--



Ramin Zaghi

Mosaic3DX™ | User Interface Technology
St John's Innovation Centre,
Cowley Road,
Cambridge,
CB4 0WS, UK
T: +44 1223 421 311


_______________________________________________
Mono-devel-list mailing list
[hidden email]
http://lists.dot.net/mailman/listinfo/mono-devel-list