[IronPython] Building IronPython/IronRuby for Mono?

Vernon Cole vernondcole at gmail.com
Tue Mar 22 08:55:00 PDT 2011

On Tue, Mar 22, 2011 at 8:14 AM, Markus Schaber
<m.schaber at 3s-software.com> wrote:
> Doug Blank wrote:
>> > IronPython 2.7 and newer seem to need at least .NET 4.0, which needs
>> > at least Mono 2.8.
>> Is that you need Mono 2.8 to build IronPython, or to run it?
>> IronPython2.6 beta 2 is running fine under Mono 2.6.7.
> As far as I can see, you need .NET 4 / Mono 2.8 for both compiling and
> running. [...]
> IronPython 2.6.2 is delivered in two versions, one for .NET 4 and the
> other one for .NET 2 (but using some C# 3 language features).
> Markus Schaber

Correct!  IronPython 2.6.2 will work ALMOST correctly on Ubuntu 10.10,
IF you use the binary which is linked for .NET 2.0.  The error I
experienced is that the black typeface on the default Gnome Terminal
(with a white background) turns to light grey when IPy starts.  If you
switch Gnome Terminal to the black background, all is well.  I assume
that change happened after 2.6.b2.

The version of mono is a more interesting story.  (Bear with me, I
spent a lot of time last week learning this.)  Ubuntu has made the
corporate decision to go with mono as part of their core. Ubuntu will
not work without mono, and about 40 supported applications (they tell
me) use mono. This is great news for the mono people, IMHO.  But it
comes with a cost.  Mono is created on a Redhat-like system, SUSE.
This is easy to understand, since the core group lives at Novell, the
sponsor of SUSE.  It seems that Redhat/SUSE have diverged enough from
Debian that a significant amount of patching is required to make the
stock (SUSE) release of mono work correctly on Debian.

[An explanation for Windows users still following along: Ubuntu is a
derivative of Debian, and uses most of the some packages. It has a
MUCH faster release cycle, which I why I, and many others, use and
prefer it. I attended my first meeting of the Utah Python Users Group
last week and took a quick informal survey of the laptops present.
Ubuntu:20.5, OS/X:2, other Linux:0, Windows:0.5. This in a place where
lots of people work or worked for Novell, and the general population
of programmers is heavily invested in Microsoft. The .5 is my (dual
boot) laptop.]

The Debian maintainers apply their patches to the LTS [long term
support] version of mono, which at this point is 2.6.3.  One of the
Debian mono maintainers has supplied a patched 2.10 mono as a PPA on
launchpad, but he only supports LTS versions of Ubuntu, which 10.10 is
not.  Therefore, the newest (i.e. .NET 4) software will not run on the
newest Ubuntu. A very frustrating paradox.

I received several suggestions about how to get around this problem,
most of them involving virtual machines, or sandboxes.  Since Redhat
and SUSE are not as heavily invested in mono, they run more current
versions. The latest suggestion, which I must rebuild my Linux
partition before I can test, is this:
v v v v v v v
from	Christopher James Halse Rogers <raof at ubuntu.com>
sender-time	Sent at 7:24 PM (GMT+11:00). Current time there: 2:27 AM. ✆
to	Vernon Cole <vernondcole at gmail.com>
cc	ubuntu-devel-discuss at lists.ubuntu.com
subject	Re: IronPython and Mono are very old. How can we get an update?
Hm.  I should have linked http://apebox.org/wordpress/linux/370/ which
is a description of how to do a parallel mono install in a way that
works with the Debian CLI policy and tools.
^ ^ ^ ^ ^ ^ ^
===========================  NEW SUBJECT =================================

The current source of IronPython is not on codeplex!
(and the documentation on codeplex has not yet been updated to reflect
the change.  Real soon now...)

The current source is on github. On Ubuntu, the download of the source
is a snap. [Windows users, eat your heart out.]
Having already registered an ssl key with github, I do this:
v v v v
vernon at dlc-ubuntu:~$ sudo apt-get install bzr-git
vernon at dlc-ubuntu:~$ bzr branch git://github.com/IronLanguages/main
^ ^ ^ ^
Which gives me a lovely, user friendly, bazaar repository.

More information about the Users mailing list