You need gcc version 2.0 or later to compile gforth. First, type ./configure or CC= ./configure if your local gcc installation uses a different name (e.g. gcc-2.7.2), or you want to generate for a different binary format (e.g. "gcc -b i486-linuxaout -V 2.7.0" to generate an a.out executable under Linux which you may give your friends who don't have ELF libraries). configure has the following useful parameters: --prefix=PREFIX install architecture-independent files in PREFIX [default: /usr/local] --exec-prefix=PREFIX install architecture-dependent files in PREFIX [default: same as prefix] --enable-force-reg Use explicit register declarations if they appear in the machine.h file. This can cause a good speedup, but also incorrect code with some gcc versions on some processors (default disabled). --enable-direct-threaded Force direct threading. This may not work on some machines and may cause slowdown on others. (default processor-dependent) --enable-indirect-threaded Force indirect threading. This can cause a slowdown on some machines. (default processor-dependent) --with-debug specifies option -g to compile with debug info (default) --without-debug omits the -g switch and creates smaller images on machines where strip has problems with gcc style debugging informations. --help: tells you about other parameters. If you don't like the defaults for the installation directories, you should override them already during configure. E.g., if you want to install in the /gnu hierarchy instead of in the default /usr/local hierarchy, say ./configure --prefix=/gnu After, configuration, type make If your make has trouble with the Makefile, "make gforth" might work. If your installed gcc isn't called "gcc" (e.g., called "gcc-2.7.2"), type make GCC= instead. The more appropriate place to select your compiler is when running configure. Now you can check whether your shiny new Forth system works. Say make test You can run some benchmarks with make bench and compare them with the results in Benchres and in the manual. If everything is allright, you may want to install gforth. Type make install You have to make an entry in the info directory file manually. For paper documentation, print gforth.ps (a Postscript file (300dpi fonts, i.e., it works, but does not produce best quality on better printers)), or say make gforth.dvi and print the resulting file gforth.dvi. You can also get the documentation in HTML format by typing make html Multiple Versions and Deinstallation Several versions of Gforth can be installed and used at the same time. Version `foo' can be invoked with `gforth-foo'. We recommend to keep the old version for some time after a new one has been installed. You can deinstall this version of Gforth with 'make uninstall' and version foo with 'make uninstall VERSION=foo'. 'make uninstall' also tells you how to uninstall Gforth completely. A Possible Problem You need to read this only if you see a message like "gforth: Cannot load nonrelocatable image (compiled for address 0x1234) at address 0x5678 The Gforth installer should look into the INSTALL file" Gforth supports both relocatable and fixed-address images. If you load normal Forth code and save the image, you get a fixed-address image. Producing a relocatable image is more difficult. Therefore, Gforth has only a relocatable image of the kernel (kernal.fi), which is powerful enough to load the rest of Gforth. However, loading the rest takes a noticable amount of time. To avoid this delay (which would occur on every startup), the installation procedure produces an image fixed at an address determined at the Gforth run that produced the image. This fixed-address image is loaded by default. On most OSs this works, because the first chunk of memory is always allocated at the same address. If the address changes, you get the message above. An image address change can be caused by a change of the gforth executable, or by a change (upgrade) of the OS; in these cases you just have to rebuild and reinstall the fixed address image with rm gforth.fi; make gforth.fi; make install If you get such a message with a different address in place of the 0x5678 each time you try to start gforth, you cannot use fixed-address images on your OS. In this case, send us a message so that we start searching for a comfortable solution to this problem. In the meantime, start gforth with gforth -i kernal.fi startup.fs