GAP

Main Branches

Download   Overview   Data Libraries   Packages   Documentation   Contacts   FAQ   GAP 3  

GAP Installation on UNIX

(including Linux and Mac OS X)

To install GAP on a UNIX system follow these steps. The process is essentially the same for Mac OS X, but there are some further installation notes for OS X below. It is assumed that on the system standard (C-)compiler tools are available, that you have downloaded the gap4r4p12... and packages-... archives and know how to unpack them. (Otherwise go back to the download description.)

  • Choose a directory for your installation, e.g., /usr/local/lib (or some private directory if you are not the superuser on your machine). Go to that directory and unpack the gap4r4p12... archive. This creates a directory gap4r4, from now we refer to this directory as $GAPROOT.

    Optional: If you have downloaded the optional archives xtom... and tools4r4..., unpack them in the same place where you have unpacked the gap4r4p12... archive.

  • Unpack the GAP packages provided by the packages-... archive inside (!) the directory $GAPROOT/pkg.

  • Now GAP must be compiled with an ANSI C-compiler, we recommend using gcc when possible. On most systems the standard commands

         cd $GAPROOT
         ./configure
         make
    

    will do the job.

    Optional: If you want to change the C-compiler, the compiler flags or the linker flags, you can set the environment variables CC, COPTS or LOPTS, respectively, before the configure step. For example, on a SUN Solaris system, to use the native compiler to produce 64bit code in a statically linked binary you could say (in csh-syntax):

        setenv CC cc
        setenv COPTS "-v9a -fast"
        setenv LOPTS -static
        ./configure
        make
    
  • Copy the shell script $GAPROOT/bin/gap.sh to somewhere in the standard executable paths on your system (e.g., /usr/local/bin). You may edit some of the options set in that file and it is custom to rename the copied file to gap.

  • Some of the GAP packages also contain code which has to be compiled before the full functionality of that package becomes available. The shell script InstPackages.sh does this for the currently distributed packages on Linux systems with sufficiently many libraries, headers and tools available. You may just try to run the script or to cut and paste it line by line. If something doesn't work on your system, please, refer to the README file provided with the corresponding package.

    Note that the scripts InstPackages.sh and CreateWorkspace.sh may require a chmod +x InstPackages.sh and chmod +x CreateWorkspace.sh respectively.

  • Optional: GAP starts up much faster using a so called workspace. A workspace can be generated and used as shown in the script CreateWorkspace.sh.

  • Now, please, go back to the operation system independent steps of running some short tests and giving some feedback.

Installation on Heterogeneous Networks

You can share the installation as described above among machines on a network with different architectures. Just repeat the compilation step for each architecture (a make clean wipes out the results of a ./configure call). The actual executables are created in different subdirectories of the bin directory. You just have to make sure that the correct one is called on each machine by adjusting the start script.

Further Notes for OS X

While it is possible to run the Mac OS version of GAP in the ``Classic'' environment, we strongly recommend that you compile and run the Unix version: Not only will it run faster, you are also able to use all packages.

If you haven't installed the Apple Developer Tools yet (i.e., if your boot disk does not have a folder Developer), you must install them before installing GAP. An installer Developer.mpkg can be found in the folder Installer in the folder Applications. The web page http://www.math.colostate.edu/~hulpke/CGT/education.html by Alexander Hulpke gives some help about this.

To compile and run GAP you will have to open the `Terminal' application and type the Unix command into its window. The `Terminal' application can be found in the Utilities folder in the Applications folder. GAP also will run in such a window.

The next thing to note is that you should get the Unix type GAP archives (i.e. tar or zoo, *not* the zip archive), and to compile and use the Unix version of unzoo. (If you use the Macintosh version of the unzoo extractor, the text files will be converted to MacOS format and you will have problems with the compilation.)

Go (using the `cd' command in the terminal window) into the directory where you want to install GAP, and copy the archives (and the unzoo source file unzoo.c if you want to use 'zoo') in this directory. To extract the .tar.gz or .tar.bz2 archive, use the commands

    tar zxvf gap4r4p12.tar.gz
and
     tar jxvf gap4r4p12.tar.bz2
respectively.

if you got the .zoo archive, use the commands

    gcc -o unzoo -DSYS_IS_UNIX -O unzoo.c
    ./unzoo -x gap4r4p12.zoo

Then simply follow the Unix installation instructions (omitting the first step which you have already performed).