[Mono-list] Problems with InvariantCulture on Maemo.

keks-n keks9n at gmail.com
Sun Apr 10 11:00:56 EDT 2011


The process of compilation is quite tricky. Firstly I extracted rootfs from
firmware (scratchbox is useless, if you want to compile mono for ARM), then
put it into arm version of ubuntu running in qemu. Here I built native
binaries of mono (--disable-mcs-build was very useful). Then I built managed
binaries from source package, extracted packages (dpkg -x, dpkg -e), merged
with native binaries, fixed dependencies, added mono-opt-prepare (a package
which adds some symlinks to optify mono) to dependency list and then built
them again (dpkg -b).

At that step I got working runtime, winforms, etc. 

Then I tried to compile GTK#. It was a nightmare. Code-generation scripts
produce broken sources. I removed all *.cs files from ./generated and
replaced all generated.c files with another from build tree in ubuntu. Then
I merged these native binaries with managed from Ubuntu in the same manner.

The main problem was with Gtk.Dialog. I have no idea, why the author of the
bindings think, that the widget in ActionArea is HButtonBox. As you can see
in documentation, it's just an abstract container. And in Maemo it's
VButtonBox. The next problem: the contents of dialogs don't fit the new
screen size. So I've wrapped VBox with my own widget which provide dialog
auto-fit in this manner: http://www.youtube.com/watch?v=V-72vgwFwGg

OK. Runtime works, bindings work. The next step. Monodevelop.

I took some managed libraries from Ubuntu Ports repository and fixed
dependencies. Removed some useless dependencies from MonoDevelop package,
installed it, started and.... It was broken. Broken because of Mono.Addins. 


string folder = args.Length > 2 ? args [2] : null;
if (folder.Length == 0) folder = null;

Do you see it? They assign folder=null and then use that variable. I wasn't
quick in realizing where is the error (no any debugging symbols, I had just
the name of class and function).


And after all I got it working. You can add this line in your sources.list:
deb http://archive.kebrum.com/n900/ all main

and get it. And here is a short demo:
http://www.youtube.com/watch?v=873Ig7-wS9Q

Sorry for my terrible English, unfortunately I'm not a native speaker.

--
View this message in context: http://mono.1490590.n4.nabble.com/Problems-with-InvariantCulture-on-Maemo-tp3439657p3439890.html
Sent from the Mono - General mailing list archive at Nabble.com.


More information about the Mono-list mailing list