[MonoDevelop] Build MonoDevelop in MonoDevelop?

Michael Hutchinson m.j.hutchinson at gmail.com
Mon Jan 11 00:56:16 EST 2010


On Mon, Jan 4, 2010 at 6:56 PM, jmalcolm <malcolm.justin at gmail.com> wrote:
>
> Michael, thank you very much.
>
> The key part of your answer is that I needed MonoDevelop from SVN.  The
> source tarballs from on monodevelop.com do not contain the Visual Studio
> solution or project files as far as I can tell.
>
> I can answer your questions, and I have a related question now.
>
>>On Mon, Jan 4, 2010 at 1:58 AM, Justin Malcolm <malcolm.justin at gmail.com>
> wrote:
>>> Is it possible to build MonoDevelop in MonoDevelop on Windows?  I
>>> downloaded
>>> the source for 2.2 but it looks like I would need to use 'make' under a
>>> Unix-like environment to compile it.  Are there tips or instructions for
>>> building it in the IDE or using xbuild or anything similar?
>
>>You can build it using MonoDevelop or Visual Studio 2008 or MSBuild
>>3.5, but you need to install GTK# for .NET, and the "Mono libraries
>>pack" for .NET, which is hidden somewhere on the MD site. I can't
>>remember it offhand but I'll look it up tomorrow.  You just open
>>main/Main.sln, switch to the DebugWin32|x86 configuration, and hit F5.
>
>>http://foodformonkeys.blogspot.com/2009/06/how-to-build-monodevelop-with-visual.htm
>
> The link you provided links the "hidden" Mono libraries as well.  No need to
> look it up.

Link seems broken to me. We'll have to ask Lluis for an updated link.

>>> Alternatively, is it possible to build MonoDevelop in VisualStudio or
>>> SharpDevelop?  If so, does it really need .NET 3.5 or can I build it in
>>> 2.0?
>
>> It needs 3.5, because it uses C# 3 quite a bit.
>
> Ok, but Mono should handle all the C# 3 stuff no problem right?

Yes.

>>> I have MonoDevelop 2.2 beta 2 running on a Windows 2000 system that does
>>> not
>>> support .NET 3.5.  I also have Mono 2.4.3.1 on this system and would like
>>> to
>>> build MonoDevelop to run on top of Mono instead of .NET.
>>>
>>> I am currently running the MonoDevelop build for .NET 3.5 on top of .NET
>>> 2.0
>>> with the Mono System.Core.dll (in the MonoDevelop directory).  This works
>>> but I would really rather build MonoDevelop on top of Mono instead.
>
>>Any particular reason? We only "officially" have installers for MD on
>>Windows using .NET, because that's a much smaller dependency than Mono
>>for most people (because they have .NET already).
>
> The decision makes sense.  Unfortunately, .NET 3.5 is not available for my
> system (Windows 2000) so it is an impossible dependency for me.  I am
> getting around this by placing the System.Core.dll from Mono in the
> MonoDevelop directory and running MonoDevelop on .NET 2.0.  To do this
> though, I have to first install MonoDevelop on another computer and then
> move the MonoDevelop folder over manually.  I would much prefer to build
> MonoDevelop from source relying on Mono only.
>
>>Note that you can still *target* Mono despite running on .NET, using
>>MD's parallel runtimes support - and, I imagine you could build MD
>>using itself targeting Mono.
>
> It is exactly this capability that I am trying to use.  MonoDevelop is the
> only IDE that will run on my system that will allow me to compile a project
> that uses C# 3.0 language features.
>
> So, I loaded up MonoDevelop, loaded main/Main.sln as discussed in your link,
> chose the DebugWin32 profile and tried to build the project.
>
> I had to build Mono.Addins 0.4 first and there were some Mono.Cairo cast
> complaints.  It seemed as though different versions of Mono.Cairo were
> getting referenced in different places.  I sorted that out and the project
> seemed to build without errors.  The main/build/bin directory now has a
> bunch of nice dll and exe files.
>
> Unfortunately, when I run "mono MonoDevelop.exe" I just get my cursor back.
>
> Looking at the warnings in MonoDevelop I see a bunch of lines that look
> similar to this:
>
> gtk-gui\gui-stetic: Could not generate code for widgets of type: XXXXXX. The
> widget could not be found in any referenced library.  The generated code may
> be invalid.
>
> Any idea what is going on there?

Sorry, no idea what the problem is. It looks like the GTK# code
generator is funning for some reason - and failing, generating broken
but compilable code.

It might be possible to build with xbuild, if you use Mono 2.4.3 or
2.6.x, which would avoid the GUI regeneration. Alternatively, you
could extract MD from the openSUSE rpms using an archiving app such as
7-Zip, and build just the WindowsPlatform addin by hand. Or perhaps
you can find a way to force the MD installer or extract the files from
it.

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Monodevelop-list mailing list