Thursday, January 26, 2006


After some efforts, I had everything compiled -- ffcall, foundation, appkit, etc. for the nokia. But then my test program crashed :-)

Removing extra libs (hm.. ffcall.. :-/ ) I have something working though: Foundation !

[ note that I got the NXConstantString error, so it looks like library loading order matters (lobjc / lgnustep-base)... changing the ordering in the makefiles make it works though ]

Now.. I compiled gnustep-gui and gnustep-back, both with xlib and art. But the xlib backend crash (it can't find any available font on the nokia apparently..), and the art backend (after some efforts -- #ifdef XSHM to get rid of any XShm calls...) "nearly" works: with my test application (a simple info panel) it displays a window, but without any content (plain white), and complains about bad window... Yet it seems to receive events (I can click on the invisible buttons ;-) so it looks like some art display problem, perhaps just because the nokia uses a non conventional color ordering / depth.

Well I need to come back on ffcall and check if it's the culprit or not for the crashing thing -- having ffcall won't be bad for the gui :-) and try to understand what's wrong with backart... but all in all things progress ;-)

ah, I also did a very stupid mistake the other day, compiling gcc for arm-softfloat. Naively I thought you needed a soft fp implementation, as the arm doesn't have a hardware fp. But what I didn't know is that there's two kind of soft fp -- kernel and softfloat. Worse, you can't link binaries compiled with different fp emulation. And of course, the nokia is compiled with kernel fp emulation, not arm-softfloat.. So I was good for recompiling gcc ...

Though, one good thing is that with arm-softfloat ffcall didn't compile at all (seems that the asm bits of ffcall uses the fp registers for the arm platform), while now it compiles (but as I said it seemed to be the cause of the program's crash, so it's perhaps not as encouraging as it seems ^_^ -- although I need to double-check and recompile things nicely). Considering libffi closures don't work on the arm, if ffcall works that's a good thing :)

Anyway as soon as I have something working decently I'll post a full guide to cross-compile GNUstep on the nokia (and probably some binary packages too if you just want to install it on the nokia).


Xav said...

Peu de temps après avoir découvert le Nokia 770, j'ai re-découvert GNUStep (qui marche bien maintenant). Et tout de suite je me suis dit que ces deux là sont faits pour être ensemble ! Je suis vraiment ravi de voir que quelqu'un de compétent (contrairement à moi) se lance dans l'aventure. Félicitations !
J'en profite pour faire deux suggestions : mGStep ( et QuantumStep ( Si ça peut aider...

Keep on ! :-)

Nicolas said...

Xav: j'ai un peu discuté avec Nikolaus Schaller (qui travaille sur QuantumSTEP,) durant le fosdem (mais pas assez), et il a l'air de progresser pas mal de son côté... et moi il faut que je réinstalle maemo pour rebosser sur ce port ;-) (parce que ce serait quand même bien sympa !)

voir pour la vidéo de la présentation de nikolaus au fosdem..