Friday, June 15, 2007

Zekr Running on OLPC

Five months ago, I received an email from Babar Haq, a Pakistani Server Technologies Expert, from Open Source Resource Center (OSRC), Pakistan Software Export Board (PSEB) (G) Limited. He was trying to bundle Zekr in their customized OLPC (see this) machines.

We were finally able to run Zekr on an XO-1 machine (AKA OLPC, build 406), using gij, after months of trial-and-error in making native build of Zekr using GCJ, so that there would be no need to any JRE.

I couldn't eventually build a native version of Zekr, because GCJ (using -static-libgcj option) does not embed XML parser code even when explicitly newing gnu.xml.dom.DomDocumentBuilderFactory. See these topics about the issue on GCJ mailing list: libgcj_bc.so not embedded and Trying to embed gnu.xml.dom.DomDocumentBuilderFactory.

To make a long story short, now Zekr runs on XO-1, using a copy of necessary GCJ libraries and executables from Ubuntu 7.04 (Feisty). There is no need to have Mozilla, since OLPC readily includes XUL Runner. I've put here an image taken by Babar, from an XO-1 machine running Zekr 0.5.0 final on it.

From Wikipedia:
The XO-1, previously known as the $100 Laptop or Children's Machine, is a proposed inexpensive laptop computer intended to be distributed to children around the world, especially to those in developing countries, to provide them with access to knowledge and modern forms of education. The laptop is being developed by the One Laptop per Child (OLPC) trade association.