[Mono-dev] Building Mono on Windows - And Having a Windows Installer again
I see the latest version of Mono's Windows installer is 3.2.3. Can this be used to build the latest from git? I see a link for binaries for 3.4.0, but they are not official binaries. I am going to try build Mono on Windows using Cygwin. Not sure how web the visual studio stuff works. If I am successful, I will put up somewhere an un-official Windows Installer for Mono so others can help. The nice thing about the Combined Mono and Gtk# Installer for Windows is that you have something out-of-the box you can create a GUI app with Mono. Very nice to have an C# gui app that can run on Windows and Linux. Also, what is the best Linux distro to build mono? OpenSUSE? Debian, Ubuntu? It has been awhile for me. Not starting a flame war here - just wanting the easiest route to get the dependencies on linux in order to build the latest mono from git. And I want to play with MonoDevelop too, but Mono comes first. ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Building Mono on Windows - And Having a Windows Installer again
> From: mono-devel-list-boun...@lists.ximian.com [mailto:mono-devel-list- > boun...@lists.ximian.com] On Behalf Of Daniel Morgan > > I see the latest version of Mono's Windows installer is 3.2.3. Can this be > used > to build the latest from git? > > I see a link for binaries for 3.4.0, but they are not official binaries. > > I am going to try build Mono on Windows using Cygwin. Not sure how web > the visual studio stuff works. Search this list for Appveyor. I know Alex Lennon was putting some effort in, and I think got to the point of having a reliable automated build process - but check with folks to be sure (I haven't followed very closely and I could be wrong). At some point, Miguel pulled Duncan Mak into the conversation, so I would guess maybe Duncan is involved with distributing windows builds... All of this occurred within the last ~ 1 month or so. > Also, what is the best Linux distro to build mono? OpenSUSE? Debian, > Ubuntu? It has been awhile for me. Not starting a flame war here - just > wanting the easiest route to get the dependencies on linux in order to build > the latest mono from git. On basically any system I've seen so far, building is easy. The basic process of "./configure && make && make install" usually works. If it doesn't, then add "make get-monolite-latest" before "make EXTERNAL_MCS=..." as below... On every redhat-based or debian-based (or even mac) system I've ever used, one of these two variants has always worked. OSX export BUILDDIR=/Users/whatever/Projects/mono-build export NUMPROC=3 ; time ( test -d $BUILDDIR && rm -rf $BUILDDIR ; mkdir -p $BUILDDIR ; ./autogen.sh --prefix=$BUILDDIR --disable-bcl-opt --enable-nls=no && make -j $NUMPROC && make install && echo "" && echo "Done" && echo "") Ubuntu 14.04 export BUILDDIR=/home/whatever/Projects/mono-build export NUMPROC=3 ; time ( test -d $BUILDDIR && rm -rf $BUILDDIR ; mkdir -p $BUILDDIR ; ./autogen.sh --prefix=$BUILDDIR --disable-bcl-opt --enable-nls=no && make get-monolite-latest && make -j $NUMPROC EXTERNAL_MCS="${PWD}/mcs/class/lib/monolite/gmcs.exe" && make install && echo "" && echo "Done" && echo "") > And I want to play with MonoDevelop too, but Mono comes first. Building monodevelop is more difficult. I've never succeeded - but I never spent a boat load of time on it either. You can install MonoDevelop on the mac, no problem (they distribute a pre-built binary). Also, the latest ubuntu includes a recent build of monodevelop. I personally use VS on windows, XS on mac, and MD on ubuntu 14.04 desktop x86_64. ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Building Mono on Windows - And Having a Windows Installer again
Hi Daniel, On 30/11/2014 02:13, Edward Ned Harvey (mono) wrote: >> From: mono-devel-list-boun...@lists.ximian.com [mailto:mono-devel-list- >> boun...@lists.ximian.com] On Behalf Of Daniel Morgan >> >> I see the latest version of Mono's Windows installer is 3.2.3. Can this be >> used >> to build the latest from git? >> >> I see a link for binaries for 3.4.0, but they are not official binaries. >> >> I am going to try build Mono on Windows using Cygwin. Not sure how web >> the visual studio stuff works. > Search this list for Appveyor. I know Alex Lennon was putting some effort > in, and I think got to the point of having a reliable automated build process > - but check with folks to be sure (I haven't followed very closely and I > could be wrong). At some point, Miguel pulled Duncan Mak into the > conversation, so I would guess maybe Duncan is involved with distributing > windows builds... All of this occurred within the last ~ 1 month or so. > As Edward says, I did put a bit of time into this and we do have what I think is a reliable automated build process on the Windows platform, although as ever there are improvements that can be made, Stepping back for a second there's a couple of documents that I've been maintaining on building Mono under Windows with Cygwin (prior to being introduced to Appveyor CI) This covers 3.4.0 - 3.6.0, http://www.codeproject.com/Articles/769292/How-to-build-Mono-on-Windows And this covers 3.8.0+ http://www.codeproject.com/Articles/769292/How-to-build-Mono-on-Windows It gets you to the point you can just about use Mono but there are some remaining issues I have yet to address, e.g. - understanding how the Mono installer works - dealing with hard coded library references in the build (I think the installer may do some of this) - ensuring that Windows batch files for e.g. mcs, mono, xbuild are correcly created (Again I think the installer may do some of this) ... Further to that I then created a build script for the Appveyor build platform, based on work and suggestions from Mladen Mihajlovic, which is currently automatically building Mono on commits to the repo You can see the build history here: https://ci.appveyor.com/project/ajlennon/mono-817 The output "artifact" from any of these builds is currently a set of Mono binaries which you _should_ be able to download and use straight away (would love some feedback on any issues here) e.g. https://ci.appveyor.com/project/ajlennon/mono-817/build/artifacts You should also be able to take the script I created and use this to build your own build of Mono, independently of the instruction documents I reference above. In particular there's a useful line there that automates installation of needed Cygwin packages. See here: https://github.com/mono/mono/blob/master/appveyor.yml (build_script section) What I'd like to do next is to modify this script to take the bones of the Windows installer and generate an output artifact which was an MSI installer. Unfortunately this is not trivial (to me at least!), and also requires pulling in some GTK# dependencies and so forth. I want to progress this but have not yet had time due to work commitments. Also, and perhaps more importantly the Cygwin build may all become somewhat deprecated as Jo Shields appears to be doing some excellent work to make Mono build under MSVC. Once this is achievable, to my mind it will be a vastly superior way to build Mono, instead of the 2 hour+ Cygwin build with all the faff. >> Also, what is the best Linux distro to build mono? OpenSUSE? Debian, >> Ubuntu? It has been awhile for me. Not starting a flame war here - just >> wanting the easiest route to get the dependencies on linux in order to build >> the latest mono from git. > On basically any system I've seen so far, building is easy. The basic > process of "./configure && make && make install" usually works. If it > doesn't, then add "make get-monolite-latest" before "make EXTERNAL_MCS=..." > as below... > > On every redhat-based or debian-based (or even mac) system I've ever used, > one of these two variants has always worked. > > OSX > export BUILDDIR=/Users/whatever/Projects/mono-build > export NUMPROC=3 ; time ( test -d $BUILDDIR && rm -rf $BUILDDIR ; mkdir -p > $BUILDDIR ; ./autogen.sh --prefix=$BUILDDIR --disable-bcl-opt --enable-nls=no > && make -j $NUMPROC && make install && echo "" && echo "Done" && echo "") > > Ubuntu 14.04 > export BUILDDIR=/home/whatever/Projects/mono-build > export NUMPROC=3 ; time ( test -d $BUILDDIR && rm -rf $BUILDDIR ; mkdir -p > $BUILDDIR ; ./autogen.sh --prefix=$BUILDDIR --disable-bcl-opt --enable-nls=no > && make get-monolite-latest && make -j $NUMPROC > EXTERNAL_MCS="${PWD}/mcs/class/lib/monolite/gmcs.exe" && make install && echo > "" && echo "Done" && echo "") > Possibly a bit off-topic but fwiw I maintain and use Yocto for Embedded Linux with meta-mono layer. The recipes for building Mono are here, http://git.yoctoproj
Re: [Mono-dev] Building Mono on Windows - And Having a Windows Installer again
Hey Alex, Jo Shields is currently working on revamping the Windows Installer in his repo: https://github.com/directhex/newbuilder I contributed the WiX setup files for creating an MSI installer. Jo sent me this link for a preview build (the usual caveats apply): https://drive.google.com/file/d/0Bz6-k9ELOQf3YTE1RHV3Y0dNaFU/view Btw. while developing the WiX setup I used the binaries from your AppVeyor build, it all worked fine :) Can you maybe also make changes to http://www.mono-project.com/docs/compiling-mono/windows/ (just click the "edit page on github" link), so it reflects what is necessary right now to build Mono on Windows? I think that page is pretty outdated right now. -- Alex > Date: Fri, 28 Nov 2014 14:29:29 +0100 > From: ajlen...@dynamicdevices.co.uk > To: monodanm...@yahoo.com > CC: mono-devel-list@lists.ximian.com > Subject: Re: [Mono-dev] Building Mono on Windows - And Having a Windows > Installer again > > Hi Daniel, > > On 30/11/2014 02:13, Edward Ned Harvey (mono) wrote: > >> From: mono-devel-list-boun...@lists.ximian.com [mailto:mono-devel-list- > >> boun...@lists.ximian.com] On Behalf Of Daniel Morgan > >> > >> I see the latest version of Mono's Windows installer is 3.2.3. Can this > >> be used > >> to build the latest from git? > >> > >> I see a link for binaries for 3.4.0, but they are not official binaries. > >> > >> I am going to try build Mono on Windows using Cygwin. Not sure how web > >> the visual studio stuff works. > > Search this list for Appveyor. I know Alex Lennon was putting some effort > > in, and I think got to the point of having a reliable automated build > > process - but check with folks to be sure (I haven't followed very closely > > and I could be wrong). At some point, Miguel pulled Duncan Mak into the > > conversation, so I would guess maybe Duncan is involved with distributing > > windows builds... All of this occurred within the last ~ 1 month or so. > > > > As Edward says, I did put a bit of time into this and we do have what I > think is a reliable automated build process on the Windows platform, > although as ever there are improvements that can be made, > > Stepping back for a second there's a couple of documents that I've been > maintaining on building Mono under Windows with Cygwin (prior to being > introduced to Appveyor CI) > > This covers 3.4.0 - 3.6.0, > http://www.codeproject.com/Articles/769292/How-to-build-Mono-on-Windows > > And this covers 3.8.0+ > http://www.codeproject.com/Articles/769292/How-to-build-Mono-on-Windows > > It gets you to the point you can just about use Mono but there are some > remaining issues I have yet to address, > > e.g. > > - understanding how the Mono installer works > - dealing with hard coded library references in the build (I think the > installer may do some of this) > - ensuring that Windows batch files for e.g. mcs, mono, xbuild are > correcly created (Again I think the installer may do some of this) > > ... > > Further to that I then created a build script for the Appveyor build > platform, based on work and suggestions from Mladen Mihajlovic, which is > currently automatically building Mono on commits to the repo > > You can see the build history here: > https://ci.appveyor.com/project/ajlennon/mono-817 > > The output "artifact" from any of these builds is currently a set of > Mono binaries which you _should_ be able to download and use straight > away (would love some feedback on any issues here) > > e.g. https://ci.appveyor.com/project/ajlennon/mono-817/build/artifacts > > You should also be able to take the script I created and use this to > build your own build of Mono, independently of the instruction documents > I reference above. In particular there's a useful line there that > automates installation of needed Cygwin packages. > > See here: https://github.com/mono/mono/blob/master/appveyor.yml > (build_script section) > > What I'd like to do next is to modify this script to take the bones of > the Windows installer and generate an output artifact which was an MSI > installer. > > Unfortunately this is not trivial (to me at least!), and also requires > pulling in some GTK# dependencies and so forth. I want to progress this > but have not yet had time due to work commitments. > > Also, and perhaps more importantly the Cygwin build may all become > somewhat deprecated as Jo Shields appears to be doing some excellent > work to make Mono build under MSVC. > > Once this is achievable, to my mind it will be a vastly superior way to > build Mon
Re: [Mono-dev] Building Mono on Windows - And Having a Windows Installer again
Hi Alex On 30/11/2014 15:09, Alexander Köplinger wrote: > Hey Alex, > > Jo Shields is currently working on revamping the Windows Installer in > his repo: https://github.com/directhex/newbuilder > I contributed the WiX setup files for creating an MSI installer. Jo > sent me this link for a preview build (the usual caveats apply): > https://drive.google.com/file/d/0Bz6-k9ELOQf3YTE1RHV3Y0dNaFU/view That sounds great. Maybe I will try to bolt that onto the Appveyor script then. I'd love for the CI builds to just result in an MSI anybody can grab and use easily. > > Btw. while developing the WiX setup I used the binaries from your > AppVeyor build, it all worked fine :) Really good to hear that thanks Alex :) > > Can you maybe also make changes to > http://www.mono-project.com/docs/compiling-mono/windows/ (just click > the "edit page on github" link), so it reflects what is necessary > right now to build Mono on Windows? I think that page is pretty > outdated right now. Yes it's definitely on my TODO list. I was hoping to grab the content of my CodeProject article and massage it into that page. Things have just been so hectic here I haven't had the chance yet :) Cheers, Alex ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Building Mono on Windows - And Having a Windows Installer again
I am glad to see others trying to build a Mono for Windows Installer. Removing un-needed static libraries could make the installer much smaller. Unless, you are doing embedded. Well, if you are doing embedded, you are most likely building mono yourself anyways. Mono's static library is huge. Usually on Windows, these static libraries would have a .lib extension, but since these libraries were originally built using gcc, they probably have a .a or .dll.a extension. If you include glib/gtk 2.0, there are static libraries there we do not need for gtk+ libraries. However, keep those static libraries which can help re-building mono from git. We could also save space in the installer if we only include the latest 4.5 profile. Another words, remove 2.0, 3.5, and 4.0.. Just my 2 cents. From: Alex J Lennon To: Alexander Köplinger Cc: "mono-devel-list@lists.ximian.com" Sent: Sunday, November 30, 2014 9:28 AM Subject: Re: [Mono-dev] Building Mono on Windows - And Having a Windows Installer again Hi Alex On 30/11/2014 15:09, Alexander Köplinger wrote: #yiv6734285822 #yiv6734285822 --.yiv6734285822hmmessage P{margin:0px;padding:0px;}#yiv6734285822 body.yiv6734285822hmmessage{font-size:12pt;font-family:Calibri;}#yiv6734285822 Hey Alex, Jo Shields is currently working on revamping the Windows Installer in his repo: https://github.com/directhex/newbuilder I contributed the WiX setup files for creating an MSI installer. Jo sent me this link for a preview build (the usual caveats apply): https://drive.google.com/file/d/0Bz6-k9ELOQf3YTE1RHV3Y0dNaFU/view That sounds great. Maybe I will try to bolt that onto the Appveyor script then. I'd love for the CI builds to just result in an MSI anybody can grab and use easily. Btw. while developing the WiX setup I used the binaries from your AppVeyor build, it all worked fine :) Really good to hear that thanks Alex :) Can you maybe also make changes to http://www.mono-project.com/docs/compiling-mono/windows/ (just click the "edit page on github" link), so it reflects what is necessary right now to build Mono on Windows? I think that page is pretty outdated right now. Yes it's definitely on my TODO list. I was hoping to grab the content of my CodeProject article and massage it into that page. Things have just been so hectic here I haven't had the chance yet :) Cheers, Alex ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Building Mono on Windows - And Having a Windows Installer again
> From: mono-devel-list-boun...@lists.ximian.com [mailto:mono-devel-list- > boun...@lists.ximian.com] On Behalf Of Daniel Morgan > > We could also save space in the installer if we only include the latest 4.5 > profile. Another words, remove 2.0, 3.5, and 4.0.. Wed Oct 22, 2014: "Heads up: Elimination of the 2.0 and 4.0 profiles" http://lists.ximian.com/pipermail/mono-devel-list/2014-October/042145.html ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Building Mono on Windows - And Having a Windows Installer again (Mono-devel-list Digest, Vol 115, Issue 58)
On 30/11/14 14:09, Alexander K?plinger wrote: > Hey Alex, > > Jo Shields is currently working on revamping the Windows Installer in his > repo: https://github.com/directhex/newbuilder > I contributed the WiX setup files for creating an MSI installer. Jo sent me > this link for a preview build (the usual caveats apply): > https://drive.google.com/file/d/0Bz6-k9ELOQf3YTE1RHV3Y0dNaFU/view IN THEORY, the current state of things is: Check out newbuilder.git Run ./mono-MDK-windows This will download Mono from git, a compiled Mono MDK (used as the "source" for a lot of the non-runtime components), and GTK# for Windows (ditto). I didn't feel like learning how to build GTK# and F# and IronPython and Boo and IronRuby on Windows. However, this will likely break because I make assumptions relating to the upcoming 3.12 release (my target right now), and master differs in important ways (i.e. the 4.5-only thing). It also assumes VS2013 is installed, doesn't massage the Cygwin environment the way the Appveyor config does, needs an older Mono (for bootstrapping) in $PATH, and so on. Step 1 is getting it good enough to do everything right in my Windows VM. Then I can subtree it into the regular github/mono/release.git repo, and people are encouraged to send pull requests to fix not-running-on-Jo's-laptop assumptions. FWIW the existing Windows build system in github.com/mono/release.git/windows-installer/ has a LOT of running-on-a-former-employee's-desktop assumptions, so at least things aren't moving backwards per se. The current status with a primed 3.12 build (`defs/mono download mono-3.12.0-branch` and `defs/managed-components download http://path-to-3.12-MDK` where I don't think those MDK builds are public right now) *should* be fully functional. I did a lot of work on Thursday/Friday to integrate all the junk we ship with Mac (Boo, IPy, IR, F#) but haven't tested all those changes as I ran out of time. Monday is testing/fixing, and posting a "this should work, honest" preview rather than a "this might partially work" preview. ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Building Mono on Windows - And Having a Windows Installer again (Mono-devel-list Digest, Vol 115, Issue 57)
On 30/11/14 01:13, Edward Ned Harvey (mono) wrote: >> From: mono-devel-list-boun...@lists.ximian.com [mailto:mono-devel-list- >> boun...@lists.ximian.com] On Behalf Of Daniel Morgan >> >> I see the latest version of Mono's Windows installer is 3.2.3.? Can this be >> used >> to build the latest from git? >> >> I see a link for binaries for 3.4.0, but they are not official binaries. >> >> I am going to try build Mono on Windows using Cygwin.? Not sure how web >> the visual studio stuff works. > > Search this list for Appveyor. I know Alex Lennon was putting some effort > in, and I think got to the point of having a reliable automated build process > - but check with folks to be sure (I haven't followed very closely and I > could be wrong). At some point, Miguel pulled Duncan Mak into the > conversation, so I would guess maybe Duncan is involved with distributing > windows builds... All of this occurred within the last ~ 1 month or so. > > >> Also, what is the best Linux distro to build mono?? OpenSUSE?? Debian, >> Ubuntu?? It has been awhile for me.? Not starting a flame war here - just >> wanting the easiest route to get the dependencies on linux? in order to build >> the latest mono from git. > > On basically any system I've seen so far, building is easy. The basic > process of "./configure && make && make install" usually works. If it > doesn't, then add "make get-monolite-latest" before "make EXTERNAL_MCS=..." > as below... > > On every redhat-based or debian-based (or even mac) system I've ever used, > one of these two variants has always worked. > > OSX > export BUILDDIR=/Users/whatever/Projects/mono-build > export NUMPROC=3 ; time ( test -d $BUILDDIR && rm -rf $BUILDDIR ; mkdir -p > $BUILDDIR ; ./autogen.sh --prefix=$BUILDDIR --disable-bcl-opt --enable-nls=no > && make -j $NUMPROC && make install && echo "" && echo "Done" && echo "") > > Ubuntu 14.04 > export BUILDDIR=/home/whatever/Projects/mono-build > export NUMPROC=3 ; time ( test -d $BUILDDIR && rm -rf $BUILDDIR ; mkdir -p > $BUILDDIR ; ./autogen.sh --prefix=$BUILDDIR --disable-bcl-opt --enable-nls=no > && make get-monolite-latest && make -j $NUMPROC > EXTERNAL_MCS="${PWD}/mcs/class/lib/monolite/gmcs.exe" && make install && echo > "" && echo "Done" && echo "") > > >> And I want to play with MonoDevelop too, but Mono comes first. > > Building monodevelop is more difficult. I've never succeeded - but I never > spent a boat load of time on it either. You can install MonoDevelop on the > mac, no problem (they distribute a pre-built binary). Also, the latest > ubuntu includes a recent build of monodevelop. I personally use VS on > windows, XS on mac, and MD on ubuntu 14.04 desktop x86_64. If you just want access to the latest crack, remember that every git commit of Mono and of MonoDevelop gets turned into RPM and DEB packages, and can be downloaded from jenkins.mono-project.com - the mono-snapshot-latest and monodevelop-snapshot-latest packages will keep you up to date with master. http://www.mono-project.com/docs/getting-started/install/linux/ci-packages/ ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list