Friday, September 03, 2004

GNU Smalltalk User's Guide / compiling 2.1.8

GNU Smalltalk User's Guide

This is a haiku-like introduction to Gnu Smalltalk.

It explains the salient features in enough detail for you to start exploring. You need to invest a fair amount of your own time to make sense of it though. Use this link rather than the GNU site link if you live in Europe, it is far closer/faster.

Some of the manual seems to have been written by Paolo Bonzini (maintainer of gst), some may predate his changes to the code - after an hour or two, I'm still not sure how accurately the manual describes the latest build (2.1.8).

The first time I ran into a problem was compiling under Cygwin on my Windows XP laptop - problems with the snprintfv functionality (handles varargs perhaps?). Gave up on Cygwin.

I then tried building on Fedora 2 and things went much better... until I came across more code that wouldn't compile in the gtk directory.

I checked various configuration settings with ./configure, then decided to mail Paolo Bonzini himself. To my surprise, he responded within five minutes for a work-around to my problem on Fedora (his hint: run ./configure --disable-gtk)! So a big thank-you to Paolo, because I was able to bootstrap into Smalltalk ten minutes later (it's a huge compile!).

Very excited to discover a web server and servlets in the download, and also SUnit, which of course as a Kent Beck evangelist I am keen to try out (we mostly hear about Junit, his follow-up to SUnit).

Although I now have a working gst, I'm now anxious to try the graphical side of it via blox-tk, and here I have a problem relating to compiling without gtk. I took the trouble to change config.h like this by hand:
/* Define if your system has Tcl/Tk, 8.0 or later, installed. */

#define HAVE_TCLTK 1

However, I get a message now to the effect that blox-tk couldn't be located when I try to load the browser package in.

It is interesting to see what gst does using strace - for instance, it SEGFAULTs any number of times while loading up things it needs, but this is all taken care of internally (as part of the memory management stuff?).

I need to find an efficient way to escape to the shell from within gst so that I can edit code concurrently with running it... any ideas?


0 Comments:

Post a Comment

<< Home