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.
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
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.
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.
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.
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.
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.