The “I don’t know my system” dementia

Don’t try this at home.

Well, if you must try it, do it at home and not at work :D

I’ve just installed Ubuntu 7.10 to do some development. In mono of course. I’m happy mainly because my greatest obstacle on Linux programming was “learning yet another GUI library”. Ok since I decided to use GTK# instead of Windows.Forms I technically still have to learn it, but it’s much easier to learn “another library with standard patterns” than a new way to do something in C++ using custom preprocessors (Qt) or do it in plain C (GTK).

So I started a monodevelop solution and went into development of a widget library for a property grid and an exe project to test it. At some point I decided to use a Dictionary. At this point my widget-libray won’t compile anymore. Simply as said -> project options and then set the target framework version to 2.0 instead of 1.1.

Then my app does compile but won’t run. Crap.

Enters the “I don’t know my system but I’m sure it’s his fault” factor. Ubuntu 7.10 has quite old packages for being an October 2007 distro. DosBox is still 0.71! And mono 1.2.4. On Windows I used 1.2.6. I read somewhere that mono had big changes between 1.2.4 and 1.2.5. So I started to hack Ubuntu to install 1.2.6.

Don’t do the following. Please. Unless you absolutely have to. And don’t blame me for the consequences!
I used the mono universal installer on mono website. It fails at some point. Beside it installs it under home directory. Retry as root. It installs in opt, but must be manually activated and monodevelop does not match with it well. I test my project, well it fails, must be the C# compiler of 1.2.4, I thought.

I try some steps only to fail fail fail. Then I go in what I call “regsvr32 *.dll” mode, just under Linux. I open the /etc/apt/sources.list file and add Ubuntu 8.04 Alpha Hardy Heron repositories (they are the same of 7.10 with “hardy” in place of “gutsy”). I update mono to 1.2.5. Then monodevelop stops working. I reinstall it thousands of times. Then I download the deb file of monodevelop 0.16. I try to install it but fails. I go manually and unzip the files in the right places : fail. Then I remove hardy packages from apt sources, reinstall libgtksourceview2.0-cil to an older version, install the monodevelop 0.16 deb -> RUNS! but my project still fails with an error in Dictionary.

I sadly abandon, and replace the Dictionary with an Hashtable. Project works. I do same test and guess what ? To quote : “simply as said -> project options and then set the target framework version to 2.0 instead of 1.1.”. Just remember doing it in ALL projects :(

At least now I have a somewhat unique Ubuntu 7.10 with 8.04 mono packages.

Update : under the above mentioned configuration, mono-debugger doesn’t seem to work. I’m getting back to 1.2.4; probably there is a way to work around the issue like I did with monodevelop, but I’m quite tired of this.