Archive for the ‘Mono’ Category

Resurrect this blog & my current personal project

It is long ago that I wrote the last blog post here, but in the future I hope there will be more posts with lots of interessting development stuff 😉

And here is the interessting stuff.

I started writing C# bindings for the Enlightenment Foundation Libraries (EFL). They are used in the windowmanager E17 and are designed for usage from small, embedded devices up to multi core desktop pc’s.

You will find all important information on their website:

You can find the sources here:

I started implementing some common elementary widgets and some methods of edje to load an edje-file and get the loaded widgets.

What does currently not  work:
.) EinaList
There is some code for that already there, but it does not work at all.

.) The autotools build system
I used MonoDevelop as my IDE, which should generate Makefiles and all the stuff. But there are some major bugs in this generation. I didn’t have the time until now to fill bugs or patch MonoDevelop, but this is on top of my todo list.

How to get something build that is working
1.) run
2.) build the bindings with MonoDevelop
3.) run sudo make install
4.) go to %PREFIX%/lib/efl-sharp – here are the assemblies installed
5.) add executable right to all dll’s with sudo chmod +x *.dll
6.) install the libraries in the Global Assembly Cache: run for every dll-file sudo gacutil -i %FILENAME% -package efl-sharp

Now you have installed the libraries and you can work with it.

As an example app I started to write the RSS- reader efeed.
You can get the sources from here:
A screenshot:

Currently it is more an example and test app, but I plan to extend it to a more usefull application.

I appreciate any feedback and suggestions for efl-sharp and efeed


First Release of MokoSync

After weeks of developing I am releasing the first version of my PIM Sync tool MokoSync.

At the moment it only supports Outlook and OM2008.12, but it has an AddIn- Interface and so other PIMs and Freerunner OSs can be easily supported.

The sync logic is also not complete. Currently all data on your Freerunner will be deleted and all data from Outlook will be transfered into the OM2008.12 PIM stack.

So, but now how you install it.

On Windows:

You need the Microsoft .Net Framework 3.5 and GTK# (you get it here) to run MokoSync

Download the setup at, extract it and install it.

On OM2008.12:

Install Mono 2.0.1 and Gtk# 2.12.5 on the OpenMoko. Instructions are here.

Then install the ipk from

In Illume you will get a new Icon to start MokoSync. It can take a little time, because of the startup of the Mono runtime.


You need an established network connection between the Freerunner and you PC.

Start MokoSync on your PC and on the Freerunner. On Windows MokoSync is ready to use and you only need to press “Sync” to start the server process.

At the Freerunner it depends if you are using the standard IP settings ( for the Freerunner, for the PC). If not click on “Config” and at the “Sync Transfer Addin”\Client click also on “Config”. At the Server box enter the IP of your windows machine.

After leaving the configuration, you can start the syncronisation. BE CAREFUL!! ALL YOUR CONTACTS AND CALENDAR ENTRIES WILL BE DELETED!!!

You see the status of the syncronisation between the grey area and the buttons. It is completet when it displays “Sync complete”.

I wish happy syncing. If you encounter any bugs or problems, please create a ticket at

Categories: C#, Mono, Openmoko Tags: , ,

Mono 2.0.1 and Gtk-sharp 2.12.5 for OpenMoko

I finally was sucessful compiling Mono 2.0.1 and Gtk-Sharp 2.12.5 for the Neo Freerunner.

It is tested on OM 2008.12.

The binaries are found at:

For a simple full install download all opk’s or the zip- Archive with all of them and copy them on the Neo.

In a shell execute the following command:

ls *.opk | xargs opkg install $1 -nodeps

So all packages will be installed and there should be no problems with dependencies.

Here are some screenshots of an Gtk# application running on the Neo. It shows my PIM Sync tool for the Neo:

Categories: Mono, Openmoko

Updating stable libs with dev is not a good idea

2008/10/21 1 comment

Current I realized that updating libglib and libgthread was not a good idea. After the update you are not able to start gtk applications.

I will try to build a mono version with the current stable branch over the night and upload it tomorrow.

When you are using the testing/unstable branch I think you should not have any problems.

Categories: Mono, Openmoko

Mono 1.9.1 for Openmoko Freerunner

After long work and switching to another machine I was able to build mono 1.9.1 for the freerunner.

To install it, download the file and rename it to openmoko_mono_1.9.1.tar.gz. This archive contains all necessary dependecies to install mono, but I removed the debug versions to save space.

I am using the stable repository on my freerunner, but build mono with the branch because there was already the openembedded bitbake recipts. So before you can install mono you have to update libglib and libgthread.

Next install mono. Opkg will install several dependecies from the version and download them from Openmoko. Let him do and after opkg is finished, execute opkg list_installed | grep mono. Then simply update every single package to version 1.9.1 until all installed mono packages are from version 1.9.1. At the end, you have to update libnunit.

After all you should get this on the terminal on your phone:

I added also an updated sqlite version to the package, because with the installed version, mono has a problem to find an entry point in the native lib.

Download for unstable/testing Branch Users:

(see Post:

Mono 1.9.1 for Openmoko Freerunner

My next steps are to get gtk-sharp and NDesk.DBus to work and to get my changes for the bitbake recipts into the Openmoko/OpenEmbedded branch.

Have fun and stay tuned

Categories: Mono, Openmoko Tags: , ,