Tuesday, February 21, 2006

A GNU World. GNUstep on Hurd

Yes, The title says it all.

Take the latest-and greatest unstable, unreleased GNU Hurd from Debian (this will give you an improved libc and thread library that doesn't require certain hacks to make some un-Posix code to work). Install it (and cross your fingers). Install of course the objective-c compiler. Install the necessary dependencies (libxml2, libpng, ffcall) witht ehir developer headers.

Then get the latest GNUstep. Configure and install make, base, gui and make. I used the xlib backend.
Now some caveats: the base library needs to be hacked. More specifically, after you have run configure, modify Sources/config.h and define BROKEN_SO_REUSEADDR to 1. Also I experience some troubles with the daemons of GNUstep, not only on HURD but elsewhere too, thus manually start gdomap and gdnc.
Now you are ready to start your applications! install one, run "make_services" so that it is registered and then launch it with "openapp NAME" or "gopen NAME.app". Inside the gnustep repository there is the workspace manager (a must have, but currently it crashes here) a small RTF text editor Ink (favourite small app to test if GNUstep is working...) and there are many nice applications in the GAP project and from Backbone.

If someone doesn't believe, check the screenshot... FTP is connected to the gnustep site and Ink is typing well...

So the edges are a bit rough yet. But it starts to be there, I'm excited.


Paolo Tog. said...

Uber alles cazzo, uber alles!

Ex!T said...

This is utterly fantastic. GNUStep shows a heck of a lot of promise, despite the fact that it's fairly early on in releases. To see it build on HURD gives me a lot of hope to see how both develop.

It'll be fun to hack away at it, we could look into all the wonderful things it could do.

My only disappointment is that GNUStep has parts of Objective-C and Cocoa in it. While it's not necessarily a bad thing, I sometimes feel like we're reinventing a wheel instead of pioneering a new language and framework. That's just me, though.

Riccardo said...

"Parts of Objecive-C and Cocoa"

There are no "parts" of Objective-C. It is written in Objective-C, which is its primary language. Where is the problem with that? It's an object-oriented C derivative language language like C#, Java.

The comment instead "it has parts of Cocoa" in it is false. We reimplement the interfaces to be source compatible where that makes sense, but there are no parts, it is a clean implementation, this is very important to stress. There is no source tainting.

"Fairly early in its releases"... I myself work more than 10 years on it and have seen many releases :)