56.5 Installing the ANU Sq Package

The ANU Sq is written in C and the package can only be installed under UNIX. It has been tested on DECstation running Ultrix, a HP 9000/700 and HP 9000/800 running HP-UX, a MIPS running RISC/os Berkeley, a PC running NnetBSD 0.9, and SUNs running SunOS.

It requires Steve Linton's vector enumerator (either as standalone or as GAP share library). Make sure that it is installed before trying to install the ANU Sq.

If you have a complete binary and source distribution for your machine, nothing has to be done if you want to use the ANU Sq for a single architecture. If you want to use the ANU Sq for machines with different architectures skip the extraction and compilation part of this section and proceed with the creation of shell scripts described below.

If you have a complete source distribution, skip the extraction part of this section and proceed with the compilation part below.

In the example we will assume that you, as user gap, are installing the ANU Sq package for use by several users on a network of two DECstations, called bert and tiffy, and a Sun running SunOS 5.3, called galois. We assume that GAP is also installed on these machines following the instructions given in Installation of GAP for UNIX.

Note that certain parts of the output in the examples should only be taken as rough outline, especially file sizes and file dates are not to be taken literally.

First of all you have to get the file anusq.zoo (see Getting GAP). Then you must locate the GAP directory containing lib/ and doc/, this is usually gap3r4p0 where 0 is to be replaced by the current patch level.

    gap@tiffy:~ > ls -l
    drwxr-xr-x  11 gap     1024 Nov  8  1991 gap3r4p0
    -rw-r--r--   1 gap   360891 Dec 27 15:16 anusq.zoo
    gap@tiffy:~ > ls -l gap3r4p0
    drwxr-xr-x   2 gap     3072 Nov 26 11:53 doc
    drwxr-xr-x   2 gap     1024 Nov  8  1991 grp
    drwxr-xr-x   2 gap     2048 Nov 26 09:42 lib
    drwxr-xr-x   2 gap     2048 Nov 26 09:42 pkg
    drwxr-xr-x   2 gap     2048 Nov 26 09:42 src
    drwxr-xr-x   2 gap     1024 Nov 26 09:42 tst

Unpack the package using unzoo (see Installation of GAP for UNIX). Note that you must be in the directory containing gap3r4p0 to unpack the files. After you have unpacked the source you may remove the archive-file.

    gap@tiffy:~ > unzoo x anusq
    gap@tiffy:~ > cd gap3r4p0/pkg/anusq
    gap@tiffy:../anusq> ls -l
    -rw-r--r--   1 gap     5232 Apr 10 12:40 Makefile
    -rw-r--r--   1 gap    13626 Mar 28 16:31 README
    drwxr-xr-x   2 gap      512 Apr 10 13:30 bin
    drwxr-xr-x   2 gap      512 Apr  9 20:28 examples
    drwxr-xr-x   2 gap      512 Apr 10 14:22 gap
    -rw-r--r--   1 gap     5272 Apr 10 13:34 init.g
    drwxr-xr-x   2 gap     1024 Apr 10 13:41 src
    -rwxr-xr-x   1 gap      525 Mar 28 15:50 testSq 

Typing make will produce a list of possible target.

    gap@tiffy:../anusq > make
    usage: 'make <target> EXT=<ext>'  where <target> is one of
    'bsd-gcc'    for Berkeley UNIX with GNU cc 2
    'bsd-cc'     for Berkeley UNIX with cc
    'usg-gcc'    for System V UNIX with cc
    'usg-cc'     for System V UNIX with cc
    'clean'      remove all created files

where <ext> should be a sensible extension, i.e., 'EXT=-sun-sparc-sunos' for SUN 4 or 'EXT=' if the SQ only runs on a single architecture

additional C compiler and linker flags can be passed with 'make <target> COPTS=<compiler-opts> LOPTS=<linker-opts>', i.e., 'make bsd-cc COPTS="-DTAILS -DCOLLECT"', see the README file for details on TAILS and COLLECT.

set ME if the vector enumerator is not started with the command '`pwd`/../ve/bin/me', i.e., 'make bsd-cc ME=/home/ve/bin/me'.

Select the target you need. The DECstations are running Ultrix, so we chose bsd-gcc.

    gap@tiffy:../anusq > make bsd-gcc EXT=-dec-mips-ultrix
    # you will see a lot of messages 

Now repeat the compilation for the Sun run SunOS 5.3. Do not forget to clean up.

    gap@tiffy:../anusq > rlogin galois
    gap@galois:~ > cd gap3r4p0/pkg/anusq
    gap@galois:../anusq > make clean
    gap@galois:../src > make usg-cc EXT=-sun-sparc-sunos
    # you will see a lot of messages and a few warnings
    gap@galois:../anusq > exit
    gap@tiffy:../anusq > 

Switch into the subdirectory bin/ and create a script which will call the correct binary for each machine. A skeleton shell script is provided in bin/Sq.sh.

    gap@tiffy:../anusq > cd bin
    gap@tiffy:../bin > cat > sq
    
#
!/bin/csh
    switch ( `hostname` )
      case 'tiffy':
        exec $0-dec-mips-ultrix $* ;
        breaksw ;
      case 'bert':
        setenv ANUSQ_ME_EXEC /rem/tiffy/usr/local/bin/me ;
        exec $0-dec-mips-ultrix $* ;
        breaksw ;
      case 'galois':
        exec $0-sun-sparc-sunos $* ;
        breaksw ;
      default:
        echo "sq: sorry, no executable exists for this machine" ;
        breaksw ;
    endsw
    
ctr-D
    gap@tiffy:../bin > chmod 755 Sq
    gap@tiffy:../bin > cd .. 

Now it is time to test the installation. The first test will only test the ANU Sq.

    gap@tiffy:../anusq > ./testSq
    Testing examples/grp1.fp  . . . . . . . . succeeded
    Testing examples/grp2.fp  . . . . . . . . succeeded
    Testing examples/grp3.fp  . . . . . . . . succeeded 

If there is a problem and you get an error message saying me not found, set the environment variable ANUSQ_ME_EXEC to the module enumerator executable and try again.

The second test will test the link between GAP and the ANU Sq. If everything goes well you should not see any message.

    gap@tiffy:../anusq > gap -b
    gap> RequirePackage( "anusq" );
    gap> ReadTest( "gap/test1.tst" );
    gap> 

You may now repeat the tests for the other machines.

Previous Up Top Next
Index

GAP 3.4.4
April 1997