Setting up GNUstep on the Hurd

GNUstep is not available on the Debian distribution for GNU/Hurd, but it can be built manually. This is, how to do it.

Prerequisites

This packages should already be installed (Debian package names in brackets): ffcall (libffcall1, libffcall1-dev), libffi (libffi4), libffi4-dev, openssl (openssl), libtiff (libtiff4), libpng (libpng12-0, libpng3), libjpg (libjpeg62), libxml (libxml1, libxml2, libxml2-dev & dependencies), xslt (libxslt1.1, libxslt1-dev & dependencies), ssl (libssl0.9.8, libssl-dev), libungif4-dev libungif4g, aspell (libaspell15, libaspell-dev, aspell & apspell-[for your language, e. g. en]) windowmaker (wmaker), Objective-C-Compiler (gobjc and depending packages)

Getting the sources

To do an up-to-date-installation, download the daily snapshot from GNUstep into one new directory and unzip/untar them:

wget ftp://ftp.gnustep.org/pub/daily-snapshots/core.current.tar.bz2

Building GNUstep

Everything needed for the GNUstep base system is included into the expanded tarball. This is how to build it:

Do the following installation as root!

cd core/make
./configure
make && make install
cd ..
. /usr/GNUstep/System/Library/Makefiles/GNUstep.sh  (see the dot at the begin!)
cd ../base
./configure
Edit the file Headers/Additions/GNUstepBase/config.h and add "#define BROKEN_SO_REUSEADDR 1" somewhere
make && make install
cd ../gui
./configure
make && make install
cd ../back
make && make install

Now, you've built the GNUstep base system. When you want to start a GNUstep application later or want to build one, open a bash shell and enter this command:

. /usr/GNUstep/System/Library/Makefiles/GNUstep.sh

This sets some necessary environment variables.

Building GNUstep apps

You can find some GNUstep applications here: http://www.gnustep.org/experience/apps.html

and here: http://mediawiki.gnustep.org/index.php/Main_Page

Known problems

GNUMail

After starting GNUMail, you can only once get mails from a pop3-server. If you want to fetch mails again, you have to restart it.

GWorkspace 0.8

GWorkspace 0.8 expects a /etc/mtab file. If you want to use it, you must manually make this file.

Example for a /etc/mtab file:

/dev/hd0s1 / ext2 rw 1 1

-- Thomas Schlesinger - 03 Mar 2006