Installing GNUstep on Debian running on Virtual PC 7.0.2 - or not
The reason of this exercise was, that I want to release MulleEOInterface 0.9 and since I made numerous changes I want to see if it still compiles on GNUstep. After talking with ZNeK about it, I decided that it probably would be easiest to install a Debian release on Virtual PC and go from there. I put this in my weblog, because in two years I will have forgotten about it, and then I can backtrace my previous efforts and mistakes.
It was not as easy as I thought would be. The first problem was, that the networking didn't work. Maybe there are other ways around it, but I see no other way to get this to work then to unset the default networking option of Virtual PC and to use what is called "Virtual Switch":
and to enable on Mac OS X
I have no idea who in this setup provided a proper DHCP response for the booting Debian, but I was in no mood to look after that. There is no DHCP server configured on my home network and my Mac, if setup as a DHCP client, does not receive an IP address.
I haven't yet figured out how Virtual PC 7.0.2 lets me send '@' and '|' on a german keyboard to the shell. This makes it effectively useless. Apparently this is a known bug in some other version too, hooray.
Virtual PC 7.0.2 is slow. I am running it on my PPC 2.5 and, I don't know, it feels like a 486 speedwise. Maybe this is unjust, but it's definetely not fast.
GNUstep and GDL2
Installation of GNUstep on sarge is a cinch! You say apt-get install gnustep and just minutes later, everything is ready and installed.
Everything that is very, very old. GDL2 wouldn't compile with it. So I went to download a new GNUstep directly from the subversion repository. Again apt-get install subversion gets me a very old, but in this case workable version of subversion and in hardly anytime I had core downloaded.
But core doesn't build right out of the box. And the build guide is just about useless.
Here's what I did for a system, that only needs base. GNUstep doesn't build on its own, you need to get some other libraries and to me it wasn't all obvious where to get them.
- First I needed the ffcall library. The link on the build page broken, but I found it elsewhere. I ./configure --prefix=/usr/GNUstep it to a place that I thought was appropriate. Well maybe not.
- Because now I need to run the ./configure script like this: ./configure --prefix=/usr/GNUstep --with-ffi-include=/usr/GNUstep/include/ --with-ffi-library=/usr/GNUstep/lib/
- libxml2 is the next problem. This drove me nuts. apt-get showed that libxml2 was installed and with the proper version but ./configure didn't find it. It complained about a missing xml-config. Turns out: you need a special developer package apt-get install libxml2-dev and xml2-config is actually the file that is needed.
- ok you also need openssl which is easy again: apt-get install openssl. I like Debian :) But openssl is still reported as missing. Hmm. openssl-dev doesn't exist, so I give up on that.
- Next problem: ./configure complains about libxslt missing. libxslt ? I thought that was Java only :) Oh well, I searched all over tried different names, but I couldn't apt-get anything. After some research it turns out that libxslt is already installed *groan* and ./configure is just too dumb to find it or whatever.
At that point I dediced I could live without libxslt support and openssl. Basically all I really want are the GDL2 headers and I think with hindsight, I should just have used a lot of include paths and accessed the headers directly from the unpacked directory.
Thus ends an exercise in futility and a display of stupidity. Thanks for reading.
One day later: Helge gives some advice. All of this being totally obvious of course :)
The openssl package I need is named libssl-dev
and not openssl.
To find libraries like libxslt one can do for instance apt-cache search libxslt, that sounds useful.
I suck at Debian. :)