Thursday, June 11, 2009

Mono can now compile IronPython 2.0

If you follow this blog, or the state of IronPython on Mono, you will know that the version of IronPython included in Mono (from the FePy project) is quite out of date. This is because (for various reasons) Mono has been unable to compile IronPython 2.0 from source which has prevented a new FePy release.

This causes a problem with running the IronPython in Action examples from Mono and I wrote a blog entry about how to work around this:
The intention is that MultiDoc, along with as many examples from the book as possible, run on both Mono and the .NET framework; IronPython isn't just for Windows but can also be used on Linux and Mac OS X or anywhere that Mono will run.

Some readers have reported that MultiDoc crashes on exit when run with Mono. The root cause of this is the old version of IronPython 2 that ships with Mono.

...

This is reason enough to look at using a more recent version of IronPython 2. Even though IronPython can't be compiled with Mono you can still use the up to date Windows binaries (which is part of the point of Mono - binary compatibility). To use the latest version of IronPython (2.0.1) you'll need Mono 2.4 or more recent...
However there is good news on this front. Ankit Jain recently posted the following to the Mono development email list:
Current xbuild status:

It can handle solutions (.sln) now, thanks to Jonathan Chambers, with C#, VB.net projects. Handles embedded resources, satellite assemblies, project references etc.

Eg. Paint.Net 3 ( builds completely with it now, IronPython (2.0.1) builds, IronPython svn (builds with compile time errors) etc.

Only .net 2.0 projects are supported currently though. I will start adding support for newer versions very soon, also ASP.NET, Silverlight etc projects.

This is part of the mono 2.4.2 release and is a *big* improvement over xbuild in the last release. Would be really helpful to get feedback and bug reports on this :)
In his status update Seo Sanghyeon (FePy maintainer) did report that IronPython 2.6 trunk could be built with Mono, so it looks like a recent checkin has broken Mono compatibility - temporarily I'm sure. However, the news that Mono can now compile IronPython 2 is great and hopefully means that a FePy update will follow on shortly.

No comments:

Post a Comment

Note: only a member of this blog may post a comment.