Installation of the `orb`-Package
orb

To install this package just extract the package's archive file to the GAP pkg directory.

By default the `orb` package is not automatically loaded by &GAP; when it is installed. You must load the package with LoadPackage("orb"); before its functions become available.

As of version 3.0, the `orb` package has a &GAP; kernel component which must be compiled. This component does not actually contain new functionality but will improve the performance of AVL trees and hash tables significantly since many core routines are implemented in the C language at kernel level.

To compile the C part of the package do (in the pkg directory)

cd orb ./configure [path]

where path is a path to the main &GAP; root directory (if not given the default ../.. is assumed).

Afterwards call make to compile a binary file.

If you installed &GAP; on several architectures, you must execute this configure/make step on each of the architectures immediately after configuring &GAP; itself on this architecture.

If you installed the package in another pkg directory than the standard pkg directory in your &GAP; 4 installation, then you have to add the path to the directory containing your pkg directory to &GAP;'s list of directories. This can be done by starting &GAP; with the -l command line option followed by the name of the directory and a semicolon. Then your directory is prepended to the list of directories searched. Otherwise the package is not found by &GAP;. Of course, you can add this option to your &GAP; startup script.

Static linking

This might be interesting for M&dollar; Windows users, as dynamic loading of binary modules does not always work there. You can also create a new statically linked gap binary as follows:

Go into the main &GAP; directory and then into bin/BINDIR. Here BINDIR means the directory containing the gap executable after compiling gap. This directory also contains the &GAP; compiler script gac. Assuming `orb` in the standard location you can then say

./gac -o gap-static -p "-DORBSTATIC" -P "-static" ../../pkg/orb/src/orb.c

Then copy your gap start script to, say, gaps and change the references to the &GAP; binary to gap-static.

Note that you have to replace BINDIR by the name containing the gap executable after compiling GAP as above. If you have installed the package in a different place than the standard, you have to replace ../.. in the above command by the path to the directory containing the pkg directory into which you installed `orb`.

If you want to install more than one package with a C-part like this package, you can still create a statically linked &GAP; executable by combining all the compile and link options and all the .c files as in the ./gac command above. For the `orb` package, you have to add -DORBSTATIC to the string of the -p option and the file ../../pkg/orb/src/orb.c somewhere on the command line. As above, ../.. and BINDIR have to be replaced if you installed in a non-standard location.
Recompiling the documentation

Recompiling the documentation is possible by the command gap makedoc.g in the orb directory. But this should not be necessary.

Please, send us an e-mail if you have any questions, remarks, suggestions, etc. concerning this package. Also, I would like to hear about applications of this package.

Jürgen Müller, Max Neunhöffer and Felix Noeske