Go to the first, previous, next, last section, table of contents.


6 Installation

Currently the only supported method of installing components of Geek Gadgets is to use the shell. Therefore you should carefully read the following sections for details and a step by step instruction.

6.1 Step 1: Extract the content of the packages

Packages are currently distributed as '.tgz' archives. This is short for '.tar.gz', which is a tar archive that has been compressed with GNU gzip. If you do not already have a previous version of Geek Gadgets installed, you can use the BOOT.lha archive to install the necessary binaries to deal with '.tgz' archives.

Note: Be careful about using any non-GG "ixemul free" versions of "tar" unless you are absolutely certain that they correctly handle symbolic links and also preserve file datestamps accurately.

You have to create a directory which will be the root of the Geek Gadgets binary tree, assign GG: to this directory, cd to GG:, and extract the contents of the packages you wish to install (everything is archived relative to GG:).

To install a full copy of Geek Gadgets using the BOOT.lha archive, assuming that your GG archives are in dh0:junk/amiga-bin and the boot archive is dh0:junk/BOOT.lha, do the following, with the paths modified appropriately for your local needs:

	> makedir dh0:GG
	> assign GG: dh0:GG
	> cd GG:
	> lha -mraxe x dh0:junk/BOOT.lha
	> assign LIBS: GG:Sys/Libs add
	> path GG:bin add
	> assign bin: GG:bin
	> sh
	$ for file in /dh0/junk/amiga-bin/*.tgz
	do
	echo "=== $file ==="
	tar -xzf $file
	done

Ignore any "Broken pipe - gzip" messages, they are annoying but harmless.

If you want to install only a subset, you can run the "tar -xzf" command with only those archives as input, one archive at a time.

For example the following illustrates populating the Geek Gadgets binary tree with the minimum set of packages that we would recommend for doing serious C or C++ development. Replace -X.X- with the appropriate version numbers for the current release:

	tar -xzf GG-misc-bin.tgz
	tar -xzf binutils-X.X-bin.tgz
	tar -xzf bison-X.X-bin.tgz
	tar -xzf diffutils-X.X-bin.tgz
	tar -xzf fd2inline-X.X-bin.tgz
	tar -xzf fifolib-X.X-bin.tgz
	tar -xzf fileutils-X.X-bin.tgz
	tar -xzf findutils-X.X-bin.tgz
	tar -xzf flex-X.X-bin.tgz
	tar -xzf gcc-X.X-bin.tgz
	tar -xzf grep-X.X-bin.tgz
	tar -xzf gzip-X.X-bin.tgz
	tar -xzf ixemul-X.X-bin.tgz
	tar -xzf ixemul-X.X-env-bin.tgz
	tar -xzf ixemul-X.X-inc-bin.tgz
	tar -xzf libamiga-bin.tgz
	tar -xzf libg++-X.X-bin.tgz
	tar -xzf libm-X.X-bin.tgz
	tar -xzf libnix-X.X-bin.tgz
	tar -xzf make-X.X-bin.tgz
	tar -xzf patch-X.X-bin.tgz
	tar -xzf pdksh-X.X-bin.tgz
	tar -xzf sed-X.X-bin.tgz
	tar -xzf sh-utils-X.X-bin.tgz
	tar -xzf tar-X.X-bin.tgz
	tar -xzf termcap-X.X-bin.tgz
	tar -xzf textutils-X.X-bin.tgz

The following should be optional, unless you want to remake a "configure"
file, want EMACS, or currently need a curses library.

	tar -xzf autoconf-X.X-bin.tgz
	tar -xzf emacs-X.X-bin.tgz
	tar -xzf ncurses-X.X-bin.tgz

6.2 Step 2: Select an appropriate ixemul version

You may want to examine the ixemul.library flavors in GG:Sys/Libs and select one more appropriate for your specific machine. The following flavors are available at the moment:

ixemul flavor target CPU target FPU
000 68000 / 68010 none
020 68020 / 68030 none
020fpu 68020 / 68030 68881 / builtin
040 68040 / 68060 none
040fpu 68040 / 68060 builtin

Some flavors apply for ixnet.library (networking support for ixemul) too.

As an example, A4000 users might want to remove the default ixemul.library (68000) and ixnet.library (68000) and copy ixemul040fpu.library to ixemul.library and ixnet040.library to ixnet.library.

For details on ixemul.library, see section 7.2.3 ixemul.

6.3 Step 3: Install the AmigaOS include files

There are some files that we cannot yet distribute with the ftp version of Geek Gadgets for legal reasons, such as the AmigaOS include files (required for AmigaOS specific programming), or the AmigaOS fd files (used by fd2inline to generate the inline files). These files are included on CD-ROM versions because we have written permission to include them. If you install Geek Gadgets from something other than a Geek Gadgets CD, you will need to copy the AT include files to the GG:os-include directory, creating a directory hierarchy like the following:

	os-include/clib
	os-include/datatypes
	os-include/devices
	os-include/diskfont
	os-include/dos
	os-include/exec
	...

Sometimes these files contain errors or other problems that need to be fixed before they can be used with Geek Gadgets. These patches are contained in the "non-GG-patches-src.tgz" file and have already been applied in the CD-ROM releases. For ftp releases of Geek Gadgets, you should get this file and extract it in a temporary location with:

	gzip -d non-GG-patches-src.tgz
	tar -xvf non-GG-patches.tar

This will create a directory called non-GG-patches, which will have individual patch files that can be applied with the "patch" program or by hand editing (not recommended) the affected files. See each patch file for specific directions and an explanation of the patch.

6.4 Step 4: Set some environment variables

You should also ensure that you have an environment variable called HOME, which should point to a local directory that can be used to contain "reconfiguration scripts" that many tools look for. As an example, the following is a useful definition for $HOME/.inputrc:

  # My ~/.inputrc file is in -*- text -*- for easy editing with Emacs.
  #
  # Notice the various bindings which are conditionalized depending
  # on which program is running, or what terminal is active.
  #

  # In all programs, all terminals, make sure this is bound.
  "\C-x\C-r": re-read-init-file

  # Amiga console specials

  "›A": previous-history
  "›B": next-history
  "›C": forward-char
  "›D": backward-char

Please consult your AmigaOS DOS Manual on how to set environment variables.

6.5 Step 5: Set a large enough stack size

Many Geek Gadgets tools require large amounts of stack space. Some of them have been compiled to automatically grow the stack as necessary, but the work to build all of them with automatic stack expansion is not yet complete. Thus you need to take care to set an appropriate amount of stack. One way to do this is to add a line like:

stack 200000

to your S:Stack-Startup file. There are various opinions about what the minimum stack size should be. You could get away with as little as 50K in some circumstances, or need over 500K in others. Random crashes, irreproducible behavior, machine lockups, and other such problems are typical symptoms of setting the stack too low.

6.6 Step 6: Add Geek Gadgets to your environment

The last step in the installation is to modify your S:User-Startup file to assign GG: to the root of your Geek Gadgets installation tree and also to execute GG:Sys/S/GG-Startup at boot time. Once you reboot, Geek Gadgets should be ready for use.


Go to the first, previous, next, last section, table of contents.