Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 5e1854624d3bc613bdd0dd13d1ef9ac7 > files > 215

gap-system-4.4.12-5mdv2010.0.i586.rpm

<html><head><title>[ref] 73 Installing GAP</title></head>
<body text="#000000" bgcolor="#ffffff">
[<a href="../index.htm">Top</a>] [<a href = "chapters.htm">Up</a>] [<a href ="CHAP072.htm">Previous</a>] [<a href ="CHAP074.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<h1>73 Installing GAP</h1><p>
<P>
<H3>Sections</H3>
<oL>
<li> <A HREF="CHAP073.htm#SECT001">Installation Overview</a>
<li> <A HREF="CHAP073.htm#SECT002">Get the Archives</a>
<li> <A HREF="CHAP073.htm#SECT003">Unpacking</a>
<li> <A HREF="CHAP073.htm#SECT004">Compilation</a>
<li> <A HREF="CHAP073.htm#SECT005">Test of the installation</a>
<li> <A HREF="CHAP073.htm#SECT006">Packages</a>
<li> <A HREF="CHAP073.htm#SECT007">Finish Installation and Cleanup</a>
<li> <A HREF="CHAP073.htm#SECT008">The Documentation</a>
<li> <A HREF="CHAP073.htm#SECT009">If Things Go Wrong</a>
<li> <A HREF="CHAP073.htm#SECT010">Known Problems of the Configure Process</a>
<li> <A HREF="CHAP073.htm#SECT011">Problems on Particular Systems</a>
<li> <A HREF="CHAP073.htm#SECT012">Optimization and Compiler Options</a>
<li> <A HREF="CHAP073.htm#SECT013">Porting GAP</a>
<li> <A HREF="CHAP073.htm#SECT014">GAP for Macintosh OS X</a>
<li> <A HREF="CHAP073.htm#SECT015">GAP for MacOS</a>
<li> <A HREF="CHAP073.htm#SECT016">Installation of GAP for MacOS</a>
<li> <A HREF="CHAP073.htm#SECT017">Expert Windows installation</a>
<li> <A HREF="CHAP073.htm#SECT018">Copyrights</a>
</ol><p>
<p>
<a name = "I0"></a>

<a name = "I0"></a>
<a name = "I1"></a>

<font face="Gill Sans,Helvetica,Arial">GAP</font> runs on a large number of different operating systems. It behaves
slightly different on each of those. This chapter describes the
behaviour of <font face="Gill Sans,Helvetica,Arial">GAP</font>, the installation, and the options on some of those
operating systems.
<p>
Currently it contains instructions for <strong>UNIX</strong> (which includes the popular
variant <strong>Linux</strong>), for Apple Macintosh computers
under <strong>OS X</strong> (see <a href="CHAP073.htm#SECT014">GAP for Macintosh OS X</a>) as well under the ``classic''
<strong>MacOS</strong> (see <a href="CHAP073.htm#SECT015">GAP for MacOS</a>), and finally 
for <strong>Windows</strong>.
<p>
For other systems the section <a href="CHAP073.htm#SECT013">Porting GAP</a> gives hints how to
approach such a port.
<p>
<p>
<h2><a name="SECT001">73.1 Installation Overview</a></h2>
<p><p>
To permit compatibility over a wide range of operating systems, the
installation of <font face="Gill Sans,Helvetica,Arial">GAP</font> might differ from what you are accustomed to for you
particular operating system. In particular, there is no ``Installer''
program.
<p>
Installing the <font face="Gill Sans,Helvetica,Arial">GAP</font> distribution alone takes about 150MB of disk space.
The packages add another 100MB. (These are upper limits. Unix is more
efficient in storing a large number of small files than Windows.)
You also should have at least 64MB of memory to run <font face="Gill Sans,Helvetica,Arial">GAP</font>.
<p>
The installation consists of 5 easy steps:
<p>
<dl compact>
<dt>-<dd>
Get the archive(s) suitable for your system
<p>
<dt>-<dd>
Unpack
<p>
<dt>-<dd>
Compile (unless a binary has been provided already)
<p>
<dt>-<dd>
Test the installation
<p>
<dt>-<dd>
Install packages. (Some packages will only work  under Unix and OS X).
</dl>
<p>
Installation will always install the full version of <font face="Gill Sans,Helvetica,Arial">GAP</font>. There is no
``Upgrade'' mode. If you are worried about losing the old version, you can
keep an existing installation of <font face="Gill Sans,Helvetica,Arial">GAP</font> in another directory, it will not be
overwritten.
<p>
Section&nbsp;<a href="CHAP073.htm#SECT008">The Documentation</a> contains information about the manual, where to
find and how to print it. Section&nbsp;<a href="CHAP073.htm#SECT009">If Things Go Wrong</a> lists common problems
with the installation.
<p>
<p>
<h2><a name="SECT002">73.2 Get the Archives</a></h2>
<p><p>
You can get archives for the <font face="Gill Sans,Helvetica,Arial">GAP</font> distribution from
<a href="http://www.gap-system.org">http://www.gap-system.org</a>.
As different operating systems use different archive formats, <font face="Gill Sans,Helvetica,Arial">GAP</font> is
available in a variety of archives. These archives slightly differ in the
treatment of text or binary files. If you get the wrong archive you might
get error messages during compilation or not be able to look at text files
in an editor.
<p>
If you use
<p>
<dl compact>
<dt>Unix<dd>
you can use the <code>.tar.gz</code>, <code>.tar.bz2</code> or <code>.zoo</code> archives.
<p>
<dt>Macintosh OS X<dd>
you can use the <code>.tar.gz</code> or <code>.zoo</code> archives (or install the <code>MacOS</code>
version, see also&nbsp;<a href="CHAP073.htm#SECT014">GAP for Macintosh OS X</a>).
<p>
<dt>MacOS<dd>
Use the <code>.zoo</code> archive. Also make sure you get the <code>.sit</code> StuffIt archives
for the <code>unzoo</code> uncompressor.
<p>
<dt>Windows<dd>
Use the <code>-win.zip</code> or the <code>.zoo</code> archives. 
</dl>
<p>
Now get the installation archives of the right kind, according to your
operating system. You want to get the archives:
<p>
<dl compact>
<dt><code>gap4r4p12</code><dd>
which contains the main <font face="Gill Sans,Helvetica,Arial">GAP</font> installation
<p>
<dt><code>packages4r4p12</code><dd>
which contains <font face="Gill Sans,Helvetica,Arial">GAP</font> packages that provide further functionality
<p>
<dt><code>unzoo</code><dd>
Only if you use the <code>.zoo</code> archives: Unix and OS X users get the source code
<code>unzoo.c</code>, MacOS users get the <code>.sit</code> archive and Windows users
the <code>.exe</code> binary.
<p>
<dt><code>htmie4r4p12</code><dd>
An alternative version of the HTML manual which uses a nonstandard
``symbol'' font instead of Unicode characters. If you use a webbrowser such
as <code>Internet Explorer</code> that has difficulties with rendering Unicode
correctly, you might want to replace the HTML documentation with this
version. (See section&nbsp;<a href="CHAP073.htm#SECT008">The Documentation</a>.)
<p>
<dt><code>xtom4r4p12</code><dd>
Contains about 80MB of further tables of marks. (You can always install this
later if the need arises.)
</dl>
<p>
Note that starting with release 4.4, the distribution archives for <font face="Gill Sans,Helvetica,Arial">GAP</font>
will always contain the most recent bugfix. Thus if you install anew from
scratch, you will not need to get any bugfixes.
<p>
<p>
<h2><a name="SECT003">73.3 Unpacking</a></h2>
<p><p>
The concrete act of unpacking will vary slightly, depending on the operating
system and the type of archive used.
<p>
<p>
<dl compact>
<dt>Unix, OS X<dd>
Under Unix or OS X unpack the archive <code>gap4r4p12</code> in whatever
place you want <font face="Gill Sans,Helvetica,Arial">GAP</font> to reside. If you use the <code>.zoo</code> archive, you will
have to compile the <code>unzoo</code> program first
<pre>
cc -o unzoo -DSYS_IS_UNIX -O unzoo.c
./unzoo -x gap4r4p12.zoo
</pre>
<p>
(If you unpack the archive as <code>root</code> user under UNIX, make sure that you
issue the command <code>umask 022</code> before, to ensure that users will have
permissions to read the files.)
<p>
<dt>MacOS<dd>
if the <code>.sit</code> archive did not extract autmatically, click it to force
extraction. You will end up with an applications,
<code>unzoo 4.4 PPC</code>. 
Now move this applications, as well as the <code>gap4r4p12.zoo</code>
archive to the Folder in which you want to install <font face="Gill Sans,Helvetica,Arial">GAP</font>. Drag the archive
<code>gap4r4p12.zoo onto the icon of `unzoo 4.4 PPC</code>. You will get a
window with many lines of text output.
This process will create a folder <code>gap4r4</code> in the current folder.
<p>
<dt>Windows<dd>
The archive must be extracted to the <strong>main</strong> directory of the <code>C:</code> drive. (If
you do not have permissions or sufficient free space to create directories
there, see section&nbsp;<a href="CHAP073.htm#SECT017">Expert Windows installation</a>.) If you use the <code>.zoo</code>
archives we provide move <code>unzoo.exe</code> and  <code>gap4r4p12.zoo</code> in the
<code>C:</code> directory, open the <code>MS-DOS</code> (or <code>Command Prompt</code>) window. (You can
find this under ``Start/Programs/Accessories''.)
In this window issue the commands
<pre>
cd c:\
unzoo -x gap4r4p12.zoo
</pre>
(It might be necessary to use upper case letters instead)
<p>
<dt><dd>
If you prefer to use the <code>-win.zip</code> archive use a <code>ZIP</code> extractor. Make sure
that you specify extraction to the <code>c:/</code> folder (with <strong>no</strong> extra directory
name -- the directory is part of the archive) to avoid extraction in a wrong
place or in a separate directory. After extraction you can start <font face="Gill Sans,Helvetica,Arial">GAP</font> with
the file
<pre>
C:\GAP4R4\bin\gapw95.exe
</pre>
<p>
</dl>
<p>
<p>
<h2><a name="SECT004">73.4 Compilation</a></h2>
<p><p>
For the MacOS and Windows version the unpacking process will already have
put binaries in place. Under Unix and OS X you will have to compile (OS X
users please see section <a href="CHAP073.htm#SECT014">GAP for Macintosh OS X</a> for information about
compilation) such a binary yourself.
<p>
Go into the directory <code>gap4r4</code> (which you just created by unpacking).
Issue the two commands
<pre>
./configure
make
</pre>
Both will produce a lot of text output. You should end up with a shell
script <code>bin/gap.sh</code> which you can use to start <font face="Gill Sans,Helvetica,Arial">GAP</font>. (If you want, you can
copy this script later to a directory that is listed in your search path.)
<p>
OS X users please note that this script must be started from within the
<code>Terminal</code> Application. It is not possible to start <font face="Gill Sans,Helvetica,Arial">GAP</font> by clicking this
script.
<p>
If you get weird error messages from these commands, make sure that
you got the Unix version of GAP (i.e. not the <code>-win.zip</code> format archive) and
that you extracted the archive on the machine on which you compile.
Also see section&nbsp;<a href="CHAP073.htm#SECT010">Known Problems of the Configure Process</a> below for further
information.
<p>
If you use OS X in the ``Panther'' release (version 10.3), you might want to
change the call to <code>make</code> to 
<pre>
make COPTS="-fast -mcpu=7450"
</pre>
on a G4 system or to
<pre>
make COPTS="-O3 -mtune=G5 -mcpu=G5 -mpowerpc64"
</pre>
on a G5 system (please note that the <code>-fast</code> compiler option causes problems
on a G5 at the time of this writing -- February 2004). Initial tests
indicate that this will give you substantially improved performance.
<p>
Unless you want to use the same installation of <font face="Gill Sans,Helvetica,Arial">GAP</font> also under Windows or
MacOS (not OS X),
issue the command
<pre>
make removewin
</pre>
to delete unnecessary files that are Windows-only and only take up about 2MB
of space.
<p>
<p>
<h2><a name="SECT005">73.5 Test of the installation</a></h2>
<p><p>
You are now at a point where you can start <font face="Gill Sans,Helvetica,Arial">GAP</font> for the first time. Unix
and OS X users type 
<pre>
./bin/gap.sh
</pre>
MacOS users click the Application <code>GAP 4 PPC</code> in the <code>gap4r4</code>
directory, Windows users start
<pre>
C:\GAP4R4\bin\gapw95.exe
</pre>
<font face="Gill Sans,Helvetica,Arial">GAP</font> should start up with its banner and after a little while give you a
command prompt <code>&gt;</code>.
<p>
Try a few commands to see if the compilation succeeded.
<p>
<pre>
gap&gt; 2 * 3 + 4;
10
gap&gt; Factorial( 30 );
265252859812191058636308480000000
gap&gt; m11 := Group((1,2,3,4,5,6,7,8,9,10,11),(3,7,11,8)(4,10,5,6));;
gap&gt; Size( m11 );
7920
gap&gt; Length( ConjugacyClasses( m11 ) );
10 
gap&gt; Factors( 10^42 + 1 );
#I  IsPrimeInt: probably prime, but not proven: 4458192223320340849
[ 29, 101, 281, 9901, 226549, 121499449, 4458192223320340849 ]
</pre>
<p>
If you get the error message ``<code>hmm, I cannot find lib/init.g</code>'' you are
likely to have installed only the binary (or on Windows have not installed
<font face="Gill Sans,Helvetica,Arial">GAP</font> in the root directory of the <code>C:</code> drive).
<p>
If <font face="Gill Sans,Helvetica,Arial">GAP</font> starts but you get error messages for the commands you issued, the
files in the <code>lib</code> directory are likely to be corrupt or incomplete. Make
sure that you used the proper archive and that extraction proceeded without
errors.
<p>
Especially try the command line editing and history facilities, because
they are probably the most machine dependent feature of <font face="Gill Sans,Helvetica,Arial">GAP</font>. Enter a
few commands and then make sure that <var>ctr</var>-<code>P</code> redisplays the last
command, that <var>ctr</var>-<code>E</code> moves the cursor to the end of the line, that
<var>ctr</var>-<code>B</code> moves the cursor back one character, and that <var>ctr</var>-<code>D</code> deletes
single characters. So, after entering the above commands, typing
<p>
<var>ctr</var>-<code>P</code> <var>ctr</var>-<code>E</code> <var>ctr</var>-<code>B</code>
<var>ctr</var>-<code>B</code> <var>ctr</var>-<code>B</code> <var>ctr</var>-<code>B</code> <var>ctr</var>-<code>D</code> <code>2</code> <var>return</var>
<p>
should give the following lines:
<p>
<pre>
gap&gt; Factors( 10^42 + 2 );
#I  IsPrimeInt: probably prime, but not proven: 3145594690908701990242740067
[ 2, 3, 433, 953, 128400049, 3145594690908701990242740067 ]
</pre>
<p>
If you want to run a more thorough test (this is not required), you
can read in a test script that exercises more of <font face="Gill Sans,Helvetica,Arial">GAP</font>s capabilities.
<p>
<pre>
gap&gt; Read( Filename( DirectoriesLibrary( "tst" ), "testall.g" ) );
</pre>
<p>
The test requires about 60-70MB of memory and runs about 2 minutes on a
Pentium III/1 GHz machine.
You will get a large number of lines with output about the progress
of the tests.
<p>
<pre>
test file         GAP4stones     time(msec)
-------------------------------------------
testing: /home/fac/a/hulpke/gap4/tst/zlattice.tst
zlattice.tst               0              0
testing: /home/fac/a/hulpke/gap4/tst/gaussian.tst
gaussian.tst               0             10
[ further lines deleted ]
</pre>
<p>
Windows users should note that the MS-DOS/Command Prompt user interface
provided by Microsoft might not offer history scrolling or cut and paste
with the mouse. See section&nbsp;<a href="CHAP073.htm#SECT017">Expert Windows Installation</a> for a way around
this.
<p>
<p>
<h2><a name="SECT006">73.6 Packages</a></h2>
<p><p>
To extract the packages, extract the <code>package4r4p12</code> archive <strong>in</strong>
the ``gap4r4/pkg' directory by the same method used to extracted
the main archive. (If you use <code>unzoo</code> or under MacOS move both the <code>unzoo</code>
binary and the archive in the <code>pkg</code> directory and extract there.)
<p>
For packages that consist only of <font face="Gill Sans,Helvetica,Arial">GAP</font> code no further installation is
necessary. Some packages however contain external binaries that will
require separate compilation. (If you use the MacOS version or Windows you
will not be able to use external binaries anyhow any you can skip the rest
of this section.) You can skip this compilation now and do it later --
<font face="Gill Sans,Helvetica,Arial">GAP</font> will work fine, just the capabilities of the affected packages won't
be available.
<p>
In general, each package contains a <code>README</code> file that contains information
about the package and the necessary installation. Typically the installation
for a package consists of changing in the packages directory and issuing the
commands <code>./configure; make</code> in the packages directory. (This has to be done
separately for exery package).
<p>
If you have problems with package installations please contact the package
authors as listed in the packages <code>README</code> file.
<p>
<p>
<h2><a name="SECT007">73.7 Finish Installation and Cleanup</a></h2>
<p><p>
Congratulations, your installation is finished. 
<p>
Once the installation is complete,
we would like to ask you to send us a short note
to <a href="mailto:support@gap-system.org">support@gap-system.org</a>, telling us about the 
installation. (This is just a courtesy; we like to know how many people
are using <font face="Gill Sans,Helvetica,Arial">GAP</font> and get feedback regarding difficulties (hopefully none)
that users may have had with installation.)
<p>
We also suggest that you subscribe to our <code>GAP Forum</code> mailing  list;  see
the <font face="Gill Sans,Helvetica,Arial">GAP</font> web pages for details. Whenever there is  a  bug  fix  or  new
release of <font face="Gill Sans,Helvetica,Arial">GAP</font> this is where it is  announced.  The  <code>GAP Forum</code>  also
deals with user questions of a general  nature;  bug  reports  and  other
problems you have while installing and/or using <font face="Gill Sans,Helvetica,Arial">GAP</font> should be sent  to
<a href="mailto:support@gap-system.org">support@gap-system.org</a>.
<p>
At this point you can also delete all archive files. (You
might want to keep <code>unzoo</code> if you used it in case a bugfix will be
released.)
<p>
The directories <code>trans</code>, <code>small</code> and <code>prim</code> within <code>gap4r4</code>
contain data libraries. If you are short of disk space you can erase some of
them. Similarly, you can erase and any of the <font face="Gill Sans,Helvetica,Arial">GAP</font> package directories in
<code>pkg</code> that you have decided you don't need, but then of course you will not
be able to access these data or packages. (You should do this only if you
have diskspace problems as you might find out later that you need certain
packages.)
<p>
If you are new to <font face="Gill Sans,Helvetica,Arial">GAP</font>, you might want to read through the following two
sections for information about the documentation.
<p>
<p>
<h2><a name="SECT008">73.8 The Documentation</a></h2>
<p><p>
The <font face="Gill Sans,Helvetica,Arial">GAP</font> manual is  distributed  in  various  ``books''.  The  standard
distribution contains four of them (as well as  a  comprehensive  index).
<font face="Gill Sans,Helvetica,Arial">GAP</font>  packages  (see  Chapter&nbsp;<a href="CHAP074.htm">GAP  Packages</a>  and,   in   particular,
Section&nbsp;<a href="CHAP074.htm#SECT002">Loading a GAP Package</a>) provide  their  own  documentation  in
their own <code>doc</code> directories.
<p>
All documentation will be available automatically  for  the  online  help
(see Section&nbsp;<a href="../tut/CHAP002.htm#SECT008">Tut:Help</a> in the Tutorial and Chapter&nbsp;<a href="CHAP002.htm">The Help System</a>  in
this manual for more details).
<p>
There also  is (if  installed) an  HTML version  of some  books that  can be
viewed with an  HTML browser, see&nbsp;<a href="CHAP002.htm#SECT003">Changing the Help Viewer</a>.  Some of these
use  <strong>unicode  characters</strong>  for  mathematical  formulae.  If your browser
is not able to display these (older versions of <code>Internet Explorer</code> do not),
get the <code>htmie4r4p12</code> archive which provides math symbols in a
different encoding. (<code>Mozilla</code>, <code>Konqueror</code> and <code>Safari</code> all support unicode
characters.)
<p>
The manual is also available in <code>pdf</code> format.
In the full UNIX
distribution (<code>gap4r4p12.zoo</code>) these files are included in the
directory
<code>gap4r4/doc</code>  in the
subdirectories  <code>tut</code> (a  beginner's  tutorial),  <code>ref</code> (the  reference
manual),  <code>prg</code> (programmer's  tutorial), <code>ext</code>  (programmer's
reference) and <code>new</code> (new material that might still change in future versions).
<p>
If  you want  to  use these manual files  with  the online  help you  may
check (or  make sure)  that  your  system  provides some  additional
software  like
<p>
<p>
<dl compact>
<p>
<dt><code>xpdf</code><dd>
see  <a href="http://www.foolabs.com/xpdf/">http://www.foolabs.com/xpdf/</a>
<p>
<dt><code>xdvi</code><dd>
see any of the CTAN  sites/mirrors; the main site is:
<a href="http://www.ctan.org/">http://www.ctan.org/</a>
<p>
<dt><dd>
and the mirrors are listed at:
<a href="http://www.ctan.org/tex-archive/CTAN.sites">http://www.ctan.org/tex-archive/CTAN.sites</a>
<p>
<dt><dd>
At any of the mirrors the path of the file containing the <code>xdvi</code> archive
(after the main site name) is
<code>tex-archive/dviware/xdvi/xdvi.tar.gz</code>.
<p>
<dt><code>acroread</code><dd>
see <a href="http://www.adobe.com/products/acrobat/readstep.html">http://www.adobe.com/products/acrobat/readstep.html</a>
<p>
</dl>
<p>
As  a complete  beginner, we  suggest  you read  the tutorial  first for  an
introduction to <font face="Gill Sans,Helvetica,Arial">GAP</font> 4. Then start to use the system with extensive use of
the  online  help  system  (see  Section&nbsp;<a href="../tut/CHAP002.htm#SECT008">Tut:Help</a>  in  the  Tutorial   and
Chapter&nbsp;<a href="CHAP002.htm">The Help System</a> in this manual).
<p>
If you  have experience with  <font face="Gill Sans,Helvetica,Arial">GAP</font> 3, it might  be still worthwhile  to at
least glance  over the first  chapters of  the tutorial. You  however should
read the last  chapter of the tutorial, ``Migrating to  GAP4''. This chapter
gives a summary  of changes between <font face="Gill Sans,Helvetica,Arial">GAP</font>  3 and <font face="Gill Sans,Helvetica,Arial">GAP</font> 4  that will affect
the user. It also explains a ``compatibility  mode'' you may turn on to make
<font face="Gill Sans,Helvetica,Arial">GAP</font> 4 behave a bit more like <font face="Gill Sans,Helvetica,Arial">GAP</font> 3.
<p>
As some  of the manuals  are quite large,  you should not  immediately print
them. If  you start using  <font face="Gill Sans,Helvetica,Arial">GAP</font> it can be  helpful to print  the tutorial
(and  probably the  first chapters  of the  reference manual).  There is  no
compelling reason to print the whole of the reference manual, better use the
online help which provides useful search features.
<p>
<p>
<h2><a name="SECT009">73.9 If Things Go Wrong</a></h2>
<p><p>
<a name = "I2"></a>

<a name = "I3"></a>

This section lists a few common problems when installing or running <font face="Gill Sans,Helvetica,Arial">GAP</font>
and their remedies. Also see the FAQ list on the <font face="Gill Sans,Helvetica,Arial">GAP</font> web pages at
<a href="http://www.gap-system.org/Faq/faq.html">http://www.gap-system.org/Faq/faq.html</a>
<p>
<p>
<dl compact>
<dt><font face="Gill Sans,Helvetica,Arial">GAP</font> starts with a warning ``<code>hmm, I cannot find 'lib/init.g'</code>''.<dd>
You either started only the binary or did not edit the shell script/batch
file to give the correct library path. 
You must start the binary with the command line option
<code>-l </code><var>path</var> where <var>path</var> is the path to the <font face="Gill Sans,Helvetica,Arial">GAP</font> home directory. See
section&nbsp;<a href="CHAP003.htm#SECT001">Command Line Options</a> in the reference manual.
<p>
<dt>When starting, <font face="Gill Sans,Helvetica,Arial">GAP</font> produces error messages about undefined variables.<dd>
You might have a <code>.gaprc</code> file that was intended for <font face="Gill Sans,Helvetica,Arial">GAP</font>&nbsp;3 but is not
compatible with <font face="Gill Sans,Helvetica,Arial">GAP</font>&nbsp;4. See section&nbsp;<a href="CHAP003.htm#SECT004">The .gaprc file</a> in chapter&nbsp;<a href="CHAP003.htm">Running GAP</a> of the reference manual.
<p>
<dt><font face="Gill Sans,Helvetica,Arial">GAP</font> complains: ``<code>corrupted completion file</code>''.<dd>
Some library files got changed without rebuilding the completion files.
This is often a sign that earlier a bugfix was not installed properly or
that you changed the library yourself. In the latter case,
start <font face="Gill Sans,Helvetica,Arial">GAP</font> with command line option <code>-N</code> and see section&nbsp;<a href="CHAP003.htm#SECT005">Completion Files</a>.
<p>
<dt><font face="Gill Sans,Helvetica,Arial">GAP</font> stops with an error message ``<code>exceeded the permitted memory</code>''.<dd>
Your job got bigger than what is permitted by default (256MB). (This is a
safety feature to avoid single jobs wrecking a multi-user system.) You can
type <code>return;</code> to continue, if the error message happens repeatedly you
better start the job anew and use the command line option <code>-o</code> to set a
higher memory limit.
<p>
<dt><font face="Gill Sans,Helvetica,Arial">GAP</font> stops with an error message: ``<code>cannot extend the workspace any more</code>''.<dd>
Your calculation exceeded the available memory. Most likely you asked <font face="Gill Sans,Helvetica,Arial">GAP</font>
to do something which required more memory than you have (as listing all
elements of <i>S</i><sub>15</sub> for example). You can use the command line option <code>-g</code>
(see section&nbsp;<a href="CHAP003.htm#SECT001">Command Line Options</a> in the reference manual) to display how
much memory <font face="Gill Sans,Helvetica,Arial">GAP</font> uses. If this is below what your machine has available
extending the workspace is impossible.
Start <font face="Gill Sans,Helvetica,Arial">GAP</font> with more memory or use the <code>-a</code> option to 
pre-allocate initially a large piece of workspace.
<p>
<dt><font face="Gill Sans,Helvetica,Arial">GAP</font> is not able to allocate memory above a certain limit<dd>
Being a 32 bit program, <font face="Gill Sans,Helvetica,Arial">GAP</font> currently is unable to use over 4GB of
memory. Since the address space also has to keep the operating system,
3GB probably are an upper limit for a <font face="Gill Sans,Helvetica,Arial">GAP</font> workspace.
<p>
Depending on the operating system, it also might be necessary to compile the
<font face="Gill Sans,Helvetica,Arial">GAP</font> binary statically (i.e. to include all system libraries) to avoid
collisions with system libraries located by default at an address within the
workspace. (Under Linux for example, 1GB is a typical limit.)
You can compile a static binary using <code>make static</code>.
<p>
Windows users also see below for a built-in limit.
<p>
<dt><code>make</code> complains about not being able to find files in <code>cnf</code> or <code>src</code> which exist.<dd>
The dates of the new files were not extracted properly (Alpha-OSF machines
are prone to this). Call
<pre>
touch * cnf/* src/*
</pre>
from the main <font face="Gill Sans,Helvetica,Arial">GAP</font> directory (this ought to reset the date of all relevant
files to ``now'') and try again.
<p>
<dt>Recompilation does not actually compile changed files.<dd>
The dates of the new files were not extracted properly. Go in the source
directory and <code>touch</code> (UNIX command to change date) the new files.
<p>
<dt>Recompilation fails or the new binary crashes.<dd>
Call <code>make clean</code> and restart the <code>configure</code> / <code>make</code> process completely
from scratch. (It is possible that the operating system and/or compiler got
upgraded in the meantime and so the existing <code>.o</code> files cannot be used any
longer.
<p>
<dt>A calculation runs into an error ``no method found''.<dd>
<font face="Gill Sans,Helvetica,Arial">GAP</font> is not able to execute a certain operation with the given arguments.
Besides the possibility of bugs in the library this means two things: Either
<font face="Gill Sans,Helvetica,Arial">GAP</font> truly is incapable of coping with this task (the objects might be
too complicated for the existing algorithms or there might be no algorithm
that can cope with the input). Another possibility is that <font face="Gill Sans,Helvetica,Arial">GAP</font> does not
<strong>know</strong> that the objects have certain nice properties (like being finite)
which are required for the available algorithms. See
sections&nbsp;<a href="CHAP007.htm#SSEC002.1">ApplicableMethod</a> and <a href="CHAP013.htm#SSEC007.1">KnownPropertiesOfObject</a>.
</dl>
<p>
<strong>Problems specific to Windows</strong>
<p>
<dl compact>
<dt>Command line editing does not work under Windows.<dd>
The default key commands are UNIX-like. <font face="Gill Sans,Helvetica,Arial">GAP</font> also tries to emulate some of
the special keys under Windows, however if the key repeat is set too high,
Windows loses parts of the codes for these keys and thus <font face="Gill Sans,Helvetica,Arial">GAP</font> cannot
recognize them.
Windows98 produces the same scan code for all cursor keys. As <font face="Gill Sans,Helvetica,Arial">GAP</font> does
not interface directly with the Windows machinery, there is no known way around
this problem. Use the Unix-style cursor commands.
<p>
<dt>The <code>^</code>-key or <code>"</code>-key cannot be entered.<dd>
This is a problem if you are running a keyboard driver for some non-english
languages. These drivers catch the <code>^</code> character to produce the French
circumflex accent and do not pass it properly to <font face="Gill Sans,Helvetica,Arial">GAP</font>.
No fix is known.
<p>
<dt><font face="Gill Sans,Helvetica,Arial">GAP</font> does not start or cannot expand memory<dd>
You will have to edit a registry entry to be able to use more than 127MB of
memory. See&nbsp;<a href="CHAP073.htm#SECT017">Expert Windows Installation</a>.
<p>
<dt>Cut and Paste does not work<dd>
You might want to start <font face="Gill Sans,Helvetica,Arial">GAP</font> under <code>rxvt</code> -- see&nbsp;<a href="CHAP073.htm#SECT017">Expert Windows Installation</a>.
Also <a href="http://www.gap-system.org/Faq/Hardware-OS/hardware-os.html">http://www.gap-system.org/Faq/Hardware-OS/hardware-os.html</a> might give
a remedy.
<p>
<dt>You get an error message about the <code>cygwin1.dll</code><dd>
<font face="Gill Sans,Helvetica,Arial">GAP</font> comnes with a version of this dynamic library. If you have another
version installed (use ``Find''), delete the older one (and probably copy the newer one in
both places).
</dl>
<p>
<a name = "I4"></a>

<a name = "I5"></a>

<strong>If all these remedies fail</strong> or you encountered a bug please send a mail to
<a href="mailto:support@gap-system.org">support@gap-system.org</a>. Please give:
<p>
<ul>
<li> a (short, if possible) self-contained excerpt of a <font face="Gill Sans,Helvetica,Arial">GAP</font>
session containing both input and output that illustrates your problem 
(including comments of why you think it is a bug); and
<p>
<li> state the type of machine, operating system,
(compiler used, if UNIX/Linux) and version of <font face="Gill Sans,Helvetica,Arial">GAP</font> (for example
``gap4r4p12, fix1'') you are using
(the line after the <font face="Gill Sans,Helvetica,Arial">GAP</font>&nbsp;4 banner starting:
<pre>
GAP4, Version: 4...
</pre>
when your <font face="Gill Sans,Helvetica,Arial">GAP</font>&nbsp;4 starts up, supplies the information required).
</ul>
<p>
<p>
<h2><a name="SECT010">73.10 Known Problems of the Configure Process</a></h2>
<p><p>
If <code>make</code> complains ``Do not know how to make <var>xyz</var>'' but <var>xyz</var> is an
existing file, it is likely that the dates of the files were not
extracted properly (Alpha-OSF machines are prone to this). Call
<pre>
touch * cnf/* src/*
</pre>
from the main <font face="Gill Sans,Helvetica,Arial">GAP</font> directory (this ought to reset the date of all relevant
files to ``now'') and try again.
<p>
Sometimes the <code>configure</code> process does not properly figure out the 
``inline'' compiler command. If you get error messages
that complain that ``inline'' is unknown, edit the file <code>config.h</code> in the
<code>bin/</code><var>target</var><code></code> subdirectory and replace the line
<pre>
/* #undef inline */
</pre>
by
<pre>
#define inline
</pre>
and then try to compile again.
<p>
The <code>configure</code> script respects compiler settings given in environment
variables. However such settings may conflict with the automatic
configuration process. If <code>configure</code> produces strange error messages about
not being able to run the compiler, check whether environment variables that
might affect the compilation (in particular <code>CC</code>, <code>LD</code>, <code>CFLAGS</code>, <code>LDFLAGS</code>
and <code>C_INCLUDE_PATH</code>) are set and reset them using <code>unsetenv</code>.
<p>
Some users reported problems with <code>make</code>, while the GNU version <code>gmake</code>
worked. Thus if problems occur you should try <code>gmake</code> instead
if it is installed on your machine.
<p>
<p>
<h2><a name="SECT011">73.11 Problems on Particular Systems</a></h2>
<p><p>
The highest levels of optimization of the OSF/4 C compiler <code>cc</code> on the
Compaq alpha chip make assumptions about the use of pointers which are
not valid for <font face="Gill Sans,Helvetica,Arial">GAP</font>, and produce executables that can crash; <code>-O3</code>
seems to be safe, but <code>-O4</code> and <code>-fast</code> are not.
<p>
On Sun and IRIX systems which are capable of running in 32 or 64 bit
modes, it is possible to build a 64 bit version of <font face="Gill Sans,Helvetica,Arial">GAP</font>, but special 
procedures are needed (and, on Suns, a compiler bug must be
circumvented). If you wish to compile on such a system, please send an
email to 
<a href="mailto:support@gap-system.org">support@gap-system.org</a>.
<p>
<p>
<h2><a name="SECT012">73.12 Optimization and Compiler Options</a></h2>
<p><p>
Because of the large variety of different versions of UNIX and different
compilers it is possible that the <code>configure</code> process will not chose
best possible optimization level, but you might need to tell <code>make</code> about
it.
<p>
If you want to compile <font face="Gill Sans,Helvetica,Arial">GAP</font> with further compiler options (for example
specific processor optimizations) you will have to assign them to the variable
<code>COPTS</code> as in the following example when calling <code>make</code>:
<pre>
make COPTS=-option
</pre>
If there are several compiler options or if they contain spaces you might
have to enclose them by quotes to avoid depending on the shell you are
using.
<p>
The <code>configure</code> process also introduces some default compiler
options. (See the <code>Makefile</code> in the <code>bin</code> directory for details.)
You can eliminate these by assigning the variable <code>CFLAGS</code> (which contains
the default options and <code>COPTS</code>) to the desired list of compiler options in
the same way as you would assign <code>COPTS</code>.
<p>
The <strong>recommended</strong> C compiler for <font face="Gill Sans,Helvetica,Arial">GAP</font> is the GNU C compiler <code>gcc</code>,
or a related compiler such as <code>egcs</code>. There are two reasons for this
recommendation: firstly we use <code>gcc</code> in <font face="Gill Sans,Helvetica,Arial">GAP</font> development and so this
combination has been far more heavily tested than any other and
secondly, we have found that it generally produces code which is
faster than that produced by other compilers. 
<p>
If you do wish to use another compiler, you should remove
<code>config.cache</code> and <code>config.status</code> in the <font face="Gill Sans,Helvetica,Arial">GAP</font> root directory, set
the environment variable <code>CC</code> to the name of your preferred compiler
and then rerun <code>configure</code> and <code>make</code>. You may have to experiment to
determine the best values for <code>CFLAGS</code> and/or <code>COPTS</code> as described
above. Please let us (<a href="mailto:support@gap-system.org">support@gap-system.org</a>) know 
the results of your experiments.
<p>
<p>
<h2><a name="SECT013">73.13 Porting GAP</a></h2>
<p><p>
Porting <font face="Gill Sans,Helvetica,Arial">GAP</font> to a new operating system should not be very difficult.
However, <font face="Gill Sans,Helvetica,Arial">GAP</font> expects some features from the operating system and the
compiler and porting <font face="Gill Sans,Helvetica,Arial">GAP</font> to a system or with a compiler that do not
have those features may prove very difficult.
<p>
The design of <font face="Gill Sans,Helvetica,Arial">GAP</font> makes it quite portable. <font face="Gill Sans,Helvetica,Arial">GAP</font> consists of a small
kernel written in the programming language C and a large library written
in the programming language provided by the <font face="Gill Sans,Helvetica,Arial">GAP</font> kernel, which is also
called <font face="Gill Sans,Helvetica,Arial">GAP</font>.
<p>
Once the kernel has been ported, the library poses no additional problem,
because all those functions only need the kernel to work, they need no
additional support from the environment.
<p>
The kernel itself is separated into a large part that is largely
operating system and compiler independent, and one file that contains all
the operating system and compiler dependent functions. Usually only this
file must be modified to port <font face="Gill Sans,Helvetica,Arial">GAP</font> to a new operating system.
<p>
Now let us take a look at the minimal support that <font face="Gill Sans,Helvetica,Arial">GAP</font> needs from the
operating system and the machine:
<p>
You need enough main memory in your computer. The size of the
<font face="Gill Sans,Helvetica,Arial">GAP</font> kernel varies between 1.5 and 2.5 MByte (depending on the machine).
The <font face="Gill Sans,Helvetica,Arial">GAP</font> library additionally takes a minimum of 10MByte and the
library of functions that <font face="Gill Sans,Helvetica,Arial">GAP</font> loads takes up another 1.5 MByte. So it
is clear that at least 16 MByte of main memory are required to do any
serious work with <font face="Gill Sans,Helvetica,Arial">GAP</font>.
<p>
Additionally, the <font face="Gill Sans,Helvetica,Arial">GAP</font> kernel needs a flat address space, that is all the
memory is available in one contiguous chunk.
<p>
Note that this implies that there is no point in trying to port <font face="Gill Sans,Helvetica,Arial">GAP</font> to
plain MS-DOS running on IBM PCs and compatibles. The version of <font face="Gill Sans,Helvetica,Arial">GAP</font>
for IBM PC compatibles that we provide runs on machines with the
Intel 80486, Pentium or beyond processor under 32-bit Windows.
(This is also necessary, because, as just mentioned, <font face="Gill Sans,Helvetica,Arial">GAP</font> wants to view its 
memory as a large flat address space.)
<p>
Next let us turn to the requirements for the C compiler and its library.
<p>
As was already mentioned, the <font face="Gill Sans,Helvetica,Arial">GAP</font> kernel is written in the C language.
We have tried to use as few features of the C language as possible.
<font face="Gill Sans,Helvetica,Arial">GAP</font> has been compiled without problems with compilers that adhere to
the old definition from Kernighan and Ritchie, and with compilers that
adhere to the new definition from the ANSI-C standard.
<p>
Porting <font face="Gill Sans,Helvetica,Arial">GAP</font> to another UNIX should not be hard. You need some
very basic understanding of C and UNIX.
If you plan to port <font face="Gill Sans,Helvetica,Arial">GAP</font> to a non-UNIX system please contact
<a href="mailto:support@gap-system.org">support@gap-system.org</a>.
<p>
The configuration script runs various tests to determine the configuration
of your system. It produces a file <code>bin/</code><var>architecture</var><code>/config.h</code> which
contains definitions according to the test results.
It might be, however, that the tests used don't produce on
your machine the results they are expected to or that further tests are
necessary. If this is the case the easiest way is to edit the <code>config.h</code>
script, remove all object files and call <code>make</code> in the <code>bin/</code><var>architecture</var><code></code>
subdirectory. If you have to resort to changing or amending this file,
please tell us what had to be changed (mail to
<a href="mailto:support@gap-system.org">support@gap-system.org</a>). If you had to add further definitions
please also tell what properties of your system these <code>define</code>s represent.
<p>
If <font face="Gill Sans,Helvetica,Arial">GAP</font> compiles but crashes while reading the library or during a garbage
collection with a bus error it is possible that the configuration script did
not guess the permitted pointer alignment correctly. This value is stored
in the line
<pre>
#define C_STACK_ALIGN      2
</pre>
of <code>config.h</code>. Increase the value to the next power of 2  ( &#8804; 8)  and
compile <font face="Gill Sans,Helvetica,Arial">GAP</font> anew.
<p>
There is still a <code>Makefile</code> in the <code>src</code> directory, but it is not used by
the configuration process any longer. As a last resort you might want  to
try this file, but please still report your problems to <code>support</code>.
<p>
<p>
<h2><a name="SECT014">73.14 GAP for Macintosh OS X</a></h2>
<p><p>
<a name = "I6"></a>

<a name = "I6"></a>
<a name = "I7"></a>

<a name = "I6"></a>
<a name = "I7"></a>
<a name = "I8"></a>

OS X, the new version of the Macintosh operating system, is built on top of
a variant of Unix. Thus there are two ways to run <font face="Gill Sans,Helvetica,Arial">GAP</font> under this
operating system.
<p>
The first way is simply to follow the instructions in section <a href="CHAP073.htm#SECT015">GAP for MacOS</a> below and to run the binary we provide in the ``Classic''
environment.
<p>
The second way is to install the Unix version of <font face="Gill Sans,Helvetica,Arial">GAP</font>. 
<p>
We recommend to use this (Unix) version because you will be able to use all
features of GAP as well as all packages. However for installation you might
need a basic knowledge of Unix.
Note also that the Unix version of GAP uses Unix style text files. (These
files differ from older style macintosh text files in that lines do not
contain a trailing <code>CR</code> character. Depending on what text editor you use
you might not be able to inspect GAP library files and potentially might
run into problems with program files you create if they contain strings that
go over several lines.)
<p>
The following are a couple of notes and remarks about this:
<p>
You will need a compiler. The <code>gcc</code> C compiler is not installed by default,
but is part of the ``Developer tools'' package. This package might be in an
installer package already on your system (look at the <code>Installer</code> folder
under <code>Applications</code>), if not you can get it for free from Apple by
registering as a developer. See <a href="http://developer.apple.com">http://developer.apple.com</a> for details.
For the ``Panther'' release (10.3) of OS X, <code>gcc</code> is part of the ``XCode''
development tools which you should install.
<p>
To compile and run <font face="Gill Sans,Helvetica,Arial">GAP</font> you will have to open the <code>Terminal</code> application
and type the Unix command into its window. The <code>Terminal</code> application can 
be found in the <code>Utilities</code> folder in the <code>Applications</code> folder.
<font face="Gill Sans,Helvetica,Arial">GAP</font> also will run in such a window.
<p>
The next thing to note is that you should get the Unix type GAP archives,
i.e. usually the tar archive, <strong>not</strong> the zip archive (You won't be able to
compile the program as given in the <code>.zip</code> archive).
<p>
(If you prefer to use the <code>.zoo</code> type archive over <code>.tar</code> you can use this
as well.  However then you will need to use the Unix 
version of <code>unzoo</code>, which you will need to compile first by the command
<pre>
gcc -o unzoo -DSYS_IS_UNIX -O unzoo.c
</pre>
If you use the Macintosh version of the <code>unzoo</code> extractor, the text files
will be converted to MacOS format and you will have problems with the
compilation.)
<p>
Go (using the <code>cd</code> command in the terminal window) into the directory where
you want to install <font face="Gill Sans,Helvetica,Arial">GAP</font>, and copy the archives (and the unzoo program if
you want to use <code>zoo</code>) in this directory. Then extract the archive by
the command
<pre>
tar zxvf gap4r4p12.tar.gz
</pre>
(respectively -- if you prefer <code>zoo</code> -- 
<pre>
gcc -o unzoo -DSYS_IS_UNIX -O unzoo.c
./unzoo -x gap4r4p12.zoo
</pre>
)
<p>
Then simply follow the Unix installation instructions to compile <font face="Gill Sans,Helvetica,Arial">GAP</font>. 
<p>
<p>
<h2><a name="SECT015">73.15 GAP for MacOS</a></h2>
<p><p>
<a name = "I9"></a>

<a name = "I9"></a>
<a name = "I10"></a>

<a name = "I9"></a>
<a name = "I10"></a>
<a name = "I11"></a>

This section contains information about <font face="Gill Sans,Helvetica,Arial">GAP</font> that is specific to the
port of <font face="Gill Sans,Helvetica,Arial">GAP</font> for Apple Macintosh systems under MacOS (simply called
<font face="Gill Sans,Helvetica,Arial">GAP</font> for MacOS below).
<p>
To run <font face="Gill Sans,Helvetica,Arial">GAP</font> for MacOS you need an Apple Macintosh with a Motorola M68020, 
M68030, or M68040 processor, or a Power Macintosh. The computer must have 
at least 16MByte of (physical) memory and a harddisk. For 
serious calculations, much more may be needed. The operating system must 
be System 7 or higher. <font face="Gill Sans,Helvetica,Arial">GAP</font> for MacOS runs under System X, however only
in Classic Mode. 
<p>
The section <a href="CHAP073.htm#SECT018">Copyrights</a> describes the copyright as it
applies to the executable version that we distribute. The section
<a href="CHAP073.htm#SECT016">Installation of GAP for MacOS</a> describes how you install <font face="Gill Sans,Helvetica,Arial">GAP</font> for
MacOS. 
<p>
Please refer to the relevant sections of Chapter <a href="CHAP003.htm">Running GAP</a> in the 
GAP reference manual (included with the <font face="Gill Sans,Helvetica,Arial">GAP</font> distribution
for an overview over the features of <font face="Gill Sans,Helvetica,Arial">GAP</font> for MacOS.
<p>
<p>
<h2><a name="SECT016">73.16 Installation of GAP for MacOS</a></h2>
<p><p>
Installing <font face="Gill Sans,Helvetica,Arial">GAP</font> under MacOS is fairly easy. First, decide into which 
folder you want to install <font face="Gill Sans,Helvetica,Arial">GAP</font> 4.4.12.
<font face="Gill Sans,Helvetica,Arial">GAP</font> will be installed in a subfolder <code>gap4r4</code> of this folder.
You can later move <font face="Gill Sans,Helvetica,Arial">GAP</font> to a different location.
<p>
Note that certain parts of the output in the examples
should only be taken as rough outline, especially file sizes and file
dates are <strong>not</strong> to be taken literally.
<p>
If you encounter problems please also see section&nbsp;<a href="CHAP073.htm#SECT009">If Things Go Wrong</a> of
this document.
<p>
Get the Mac-specific files described  in  <a href="CHAP073.htm#SECT002">Get the  Archives</a>,  that  is,  the
distribution   <code>gap4r4p12.zoo</code> and the    binary    archive
<code>unzoo4r4-PPC.sit</code>,
<p>
How you can get those
files is described in the section <a href="CHAP073.htm#SECT002">Get the Archives</a>. Remember that the
distribution consists of binary files and that you must transmit them in
binary mode. 
<p>
If the <code>sit</code> files did not extract automatically click on them to extract
them. If even this fails use one of the standard 
decompression utilities, such as <code>Stuffit Expander</code>.
<p>
After this process you should end up with two applications,
<code>GAP 4 PPC</code> and <code>unzoo 4.4 PPC</code>. 
<p>
The latter is used to uncompress the <code>.zoo</code> archives which contain most of 
<font face="Gill Sans,Helvetica,Arial">GAP</font>. The <code>zoo</code> archives we provide for <font face="Gill Sans,Helvetica,Arial">GAP</font> contain comments which indicate
whether files are text or binary files. The <code>unzoo</code> we provide uses these
comments. If you use another zoo extractor you might lose this information
and end up with files that contain text but cannot be opened as text files.
<p>
The following installation example assumes that you are installing <font face="Gill Sans,Helvetica,Arial">GAP</font>
in the folder <code>Applications</code> on a PowerPC Macintosh. (For a 68k Macintosh 
you should replace all references to <code>PPC</code> to ones referring to <code>68K</code>
<p>
Move the file <code>gap4r4p12.zoo</code> into the folder <code>Applications</code>
and drag it onto the icon of <code>unzoo 4.4 PPC</code>. You will get many lines of 
output in this window. 
<p>
This should have created a folder <code>gap4r4</code> in the current folder.
<p>
(You will not need the file <code>gap4r4p12.zoo</code> any
longer. If you are short of disk space you can remove it now.)
<p>
If you got not the full distribution file but several small files, extract
all of them (<strong>except the <font face="Gill Sans,Helvetica,Arial">GAP</font> packages!</strong>) in this way.
<p>
Move  <code>GAP 4 PPC</code> and the bugfix file (if there is one) in the folder 
<code>gap4r4</code>. Drag the bugfix file onto the icon of <code>unzoo 4.4 PPC</code>
to decompress it. 
<p>
If you got any <font face="Gill Sans,Helvetica,Arial">GAP</font> packages, move them into the <code>pkg</code> folder in the folder 
folder <code>gap4r4</code> extract them there, in the same way as the bugfix.
<p>
After extraction you may discard all <code>.zoo</code> files if you are short of disk 
space.
<p>
The folders <code>trans</code>, <code>small</code> and <code>prim</code> contain data
libraries. If you are short of disk space you can erase some of them and
any <font face="Gill Sans,Helvetica,Arial">GAP</font> package directories in the <code>pkg</code> directory that you don't need,
but then of course you will not be able to access these data and packages.
(Any <font face="Gill Sans,Helvetica,Arial">GAP</font> package that has a C code component is essentially UNIX-dependent
and you may as well delete those; such packages typically describe in their
<code>README</code> files that they require <code>configure</code> and <code>make</code> to complete their
installation or have a <code>src</code> directory.)
<p>
Before you use <font face="Gill Sans,Helvetica,Arial">GAP</font>, you should set up <font face="Gill Sans,Helvetica,Arial">GAP</font>'s memory allocation, by 
setting appropriate values by selecting the <font face="Gill Sans,Helvetica,Arial">GAP</font> application and 
<code>Get Info...</code> in the Finder's <code>File</code> menu (in order to be able to 
modify the values there, you have to do this <strong>before</strong> you launch <font face="Gill Sans,Helvetica,Arial">GAP</font>). 
<p>
The maximum amount of workspace <font face="Gill Sans,Helvetica,Arial">GAP</font> can use depends on the amount of 
memory the Finder allocates to <font face="Gill Sans,Helvetica,Arial">GAP</font> when it is launched. The maximum 
amount of <font face="Gill Sans,Helvetica,Arial">GAP</font> workspace is this value, minus a certain amount used 
internally by the <font face="Gill Sans,Helvetica,Arial">GAP</font> application (for the PPC 
version, currently around 1.7 Megabytes, plus the size of the <font face="Gill Sans,Helvetica,Arial">GAP</font> 
application if you do not use virtual memory, and 2.9 Megabytes for the 
68K version), minus any additional amount set with the <code>-a</code>, <code>-P</code> or <code>-W</code>
command line options (see below).
<p>
You can find information about the amount of free <font face="Gill Sans,Helvetica,Arial">GAP</font> workspace, the total
amount of available workspace, and the remaining free memory, 
by choosing <code>About GAP</code> in the <code>Apple</code> menu.
<p>
To ensure efficient operation, you should not allocate more memory to <font face="Gill Sans,Helvetica,Arial">GAP</font>
than the amount of physical memory in your computer. 
If you are not using virtual memory, 
the amount may have to be considerably less (depending on your system and
the number of other applications which you may want to run at the same time).
<p>
If you notice heavy disk use during garbage collections, this is a clear 
indication that you have allocated too much memory to <font face="Gill Sans,Helvetica,Arial">GAP</font>.
<p>
In order to test your installation now run the <code>GAP</code> application
by clicking on <code>GAP 4 PPC</code>.
You should get the <font face="Gill Sans,Helvetica,Arial">GAP</font> banner and then the <font face="Gill Sans,Helvetica,Arial">GAP</font> prompt in a window
titled <code>GAP log</code>. (The process of starting <font face="Gill Sans,Helvetica,Arial">GAP</font> may take a while.)
<p>
Try a few things to see if the installation succeeded.
<p>
<pre>
gap&gt; 2 * 3 + 4;
10
gap&gt; Factorial( 30 );
265252859812191058636308480000000
gap&gt; Factors( 10^42 + 1 );
[ 29, 101, 281, 9901, 226549, 121499449, 4458192223320340849 ]
gap&gt; m11 := Group((1,2,3,4,5,6,7,8,9,10,11),(3,7,11,8)(4,10,5,6));;
gap&gt; Size( m11 );
7920
gap&gt; Length( ConjugacyClasses( m11 ) );
10 
</pre>
<p>
A set of test files is provided, running them all probably takes some 40
minutes on a 200 MHz PPC machine. 
This is not a necessary part of the
installation; it only serves as a confirmation that everything went
OK. The full test suite takes some time  and uses quite a bit of memory (around 70MB), so you may
wish to skip this step or run only part of the tests. This does no
harm.
<p>
Initially we must ensure that the print width of <font face="Gill Sans,Helvetica,Arial">GAP</font> is 80 characters per
line which we achieve with the <code>SizeScreen</code> command (otherwise we will be
swamped with error messages).
<p>
<pre>
gap&gt; SizeScreen([80,]);;
gap&gt; Filename( DirectoriesLibrary("tst"), "testall.g" );
"./tst/testall.g"
gap&gt; Read(last);
[many output lines omitted]
</pre>
<p>
The information about the manual is system independent; you can find it in
section&nbsp;<a href="CHAP073.htm#SECT008">The Documentation</a>.
<p>
<strong>A few final reminders:</strong>
<p>
<ul>
<p>
<li>
We would appreciate after installation your sending us a short note at
<a href="mailto:support@gap-system.org">support@gap-system.org</a> 
(even if you have installed <font face="Gill Sans,Helvetica,Arial">GAP</font> 3 before).
Generally, we do not reply to such emails; we only use them to gain some idea
of how many people use <font face="Gill Sans,Helvetica,Arial">GAP</font> and of the machines/operating systems on which
<font face="Gill Sans,Helvetica,Arial">GAP</font> has been successfully installed.
<p>
<li>
We also suggest that you subscribe to our <code>GAP Forum</code> mailing list; 
see the <font face="Gill Sans,Helvetica,Arial">GAP</font> web pages for details. Whenever there is a bug fix or new
release of <font face="Gill Sans,Helvetica,Arial">GAP</font> this is where it is announced. The <code>GAP Forum</code> also
deals with user questions of a general nature; bug reports and other
problems you have while installing and/or using <font face="Gill Sans,Helvetica,Arial">GAP</font> should be sent to
<a href="mailto:support@gap-system.org">support@gap-system.org</a>.
<p>
</ul>
<p>
That's all, your installation should be complete. Please refer to
Chapter <a href="CHAP003.htm">Running GAP</a> in the GAP reference manual for a description
of some special features and options of <font face="Gill Sans,Helvetica,Arial">GAP</font> for MacOS.
<p>
We hope that you will 
enjoy using <font face="Gill Sans,Helvetica,Arial">GAP</font>. Remember, if you have problems, do not hesitate to
contact us at
<a href="mailto:support@gap-system.org">support@gap-system.org</a>.
See Section&nbsp;<a href="CHAP073.htm#SECT009">If Things Go Wrong</a> for what to include in a bug report.
<p>
<p>
<h2><a name="SECT017">73.17 Expert Windows installation</a></h2>
<p><p>
This section decribes how to get a better shell for <font face="Gill Sans,Helvetica,Arial">GAP</font> and how to
install <font face="Gill Sans,Helvetica,Arial">GAP</font> in another directory. These tasks are slightly complicated
due to problems in the design of Windows, if you have not edited a batch
file before you might want to contact your system administrator for help.
<p>
Some users report that the <code>rxvt</code> shell (see <a href="http://www.rxvt.org">http://www.rxvt.org</a>)
gives a better windows environment for cut/paste etc. 
<p>
You can find a copy of this program in the <code>bin</code> subdirectory of the <font face="Gill Sans,Helvetica,Arial">GAP</font>
installation. <strong>Please note that this program is not part of the <font face="Gill Sans,Helvetica,Arial">GAP</font>
distribution and that we cannot offer any support for it</strong>.  You can start
<font face="Gill Sans,Helvetica,Arial">GAP</font> under this program via the <code>gaprxvt.bat</code> script in the <code>bin</code>
subdirectory. 
<p>
(The program has been tested only under a particular version of Windows98.
It might not work under other releases. It also might be necessary to adapt
paths in the batch file.) Under <code>rxvt</code> the standard Unix XWindows
cut-and-paste operations (left mouse button cuts, middle mouse button
pastes) work. After you terminate <font face="Gill Sans,Helvetica,Arial">GAP</font> a text window might stay on which
you can safely delete.
<p>
If you decide to install <font face="Gill Sans,Helvetica,Arial">GAP</font> in another directory than <code>C:</code> you can do so,
but you will have to edit a batch file and use this file to start <font face="Gill Sans,Helvetica,Arial">GAP</font>.
<p>
First unpack the <font face="Gill Sans,Helvetica,Arial">GAP</font> distribution in the directory you want. 
<p>
Lets suppose you want <font face="Gill Sans,Helvetica,Arial">GAP</font> to reside in the directory
<pre>
C:\MY PROGRAMS\GAP
</pre>
Extract <font face="Gill Sans,Helvetica,Arial">GAP</font> (as described in the previous section for <code>C:</code>) in this
directory. (alternatively, you can also first unpack it in 
<pre>
C:\GAP4R4
</pre>
test it there first, and afterwards move it in the desired location.)
<p>
You now will have to edit the provided batch file, that will be used to start <font face="Gill Sans,Helvetica,Arial">GAP</font>.
This batch file is needed, since <font face="Gill Sans,Helvetica,Arial">GAP</font> otherwise will not find its library
directories. The file sits in the <code>bin</code> directory of the <font face="Gill Sans,Helvetica,Arial">GAP</font>
distribution, i.e. in our example
<pre>
C:\MY PROGRAMS\GAP\GAPGAP4R4\bin\gap.bat
</pre>
This file should contain the following <strong>single</strong> line (which might be broken
over in several lines in this manual as the page width is limited):
<pre>
"C:\MY PROGRAMS\GAP\GAPGAP4R4\bin\gapw95.exe" -m 14m 
  -l "C:\MY PROGRAMS\GAP\GAPGAP4R4" %1 %2 %3 %4 %5 %6 %7 %8
</pre>
<p>
You now should be able to start <font face="Gill Sans,Helvetica,Arial">GAP</font> by clicking this <code>gap.bat</code> file.
<p>
If you also want to use <code>rxvt</code> you have to edit the <code>gaprxvt.bat</code> file to
take care of the changed path in two places for the <font face="Gill Sans,Helvetica,Arial">GAP</font> binary as well as
for the <font face="Gill Sans,Helvetica,Arial">GAP</font> library.
<p>
By default, the ``cygwin'' environment we use limits a programs workspace to
128MB of memory. To increase this limit, it is necessary to edit the
Windows registry.
<p>
<strong>WARNING:</strong> Editing the registry is the Windows equivalent of open heart
surgery. Do not attempt this change if you have no previous experience in
doing this. The web page
<a href="http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html">http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html</a> gives further
details.
<p>
Before changing the entries, you might have to run <font face="Gill Sans,Helvetica,Arial">GAP</font> once first to
create the appropriate registry keys.
<p>
The shell script <code>usemem.bat</code> in the <code>bin</code> directory sets a registry entry
<pre>
/HKEY_LOCAL_MACHINE/Software/Cygnus Solutions/Cygwin/heap_chunk_in_mb
</pre>
to decimal 1024. 
<p>
If you prefer to do the change by hand, open <code>regedit</code> and
go to the <code>Cygwin</code> Key listed above. Then choose <code>new value</code> and add
<code>heap_chunk_in_mb</code>. <code>Modify</code> it to contain decimal 1024.
<p>
<p>
<h2><a name="SECT018">73.18 Copyrights</a></h2>
<p><p>
In addition to the general copyright for <font face="Gill Sans,Helvetica,Arial">GAP</font> set forth in the Copyright
the following terms apply to the versions of <font face="Gill Sans,Helvetica,Arial">GAP</font> for Windows and MacOS.
<p>
The executable of <font face="Gill Sans,Helvetica,Arial">GAP</font> for Windows that we distribute was compiled with
the <code>gnuwin32</code> compiler of the <code>cygwin</code> package. 
This compiler can be obtained by anonymous <code>ftp</code> from a
variety of general public FTP archives. Many thanks to the Free Software
Foundation and RedHat Software for this amazing piece of work.
<p>
The GNU C compiler is
<p>
<strong>Copyright (C) 2002 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA</strong>
<p>
under the terms of the GNU General Public License (GPL).
<p>
The Cygwin32 API library is also covered by the GNU GPL. The executable we
provide is linked against this library (and in the process includes
GPL'd Cygwin32 glue code). This means that the executable falls under
the GPL too, which it does anyhow.
<p>
The <code>cygwin1.dll</code>, <code>libW11.dll</code>, <code>rxvt.exe</code> and <code>regtool.exe</code> binaries are
taken unmodified from the Cygwin distribution. They are copyright by RedHat Software
and released under the GPL. You can find more information about <code>cygwin</code> under
<a href="http://www.cygwin.com">http://www.cygwin.com</a>. You also will be able to obtain the sources for <code>cygwin</code> from this place.
<p>
The system dependent part of <font face="Gill Sans,Helvetica,Arial">GAP</font> for MacOS was written by Burkhard 
H&ouml;fling (his email address is
<a href="mailto:b.hoefling@tu-bs.de">b.hoefling@tu-bs.de</a>). He assigns
the copyright to the <font face="Gill Sans,Helvetica,Arial">GAP</font> group. Many thanks to Burkhard for his help!
Burkhard H&ouml;fling's port was partly based on an earlier
port of <font face="Gill Sans,Helvetica,Arial">GAP</font> for the Mac, 
which was done by Dave Bayer (<a href="mailto:dab@math.columbia.edu">dab@math.columbia.edu</a>)
and used the 
Mac Programmers Workshop (MPW) compiler. Many thanks to Dave for his work. 
Moreover, the built-in editor is based upon the freeware text editor 
<code>PlainText</code> by Mel Park which, in turn, uses <code>TE32K</code>, a <code>TextEdit</code> 
replacement by Roy Wood. It also uses <code>Internet Config</code>.
<p>
For technical reasons we do not distribute the Macintosh specific source and
project files as part of the standard archives. If you are interested in
compiling <font face="Gill Sans,Helvetica,Arial">GAP</font> yourself, we are happy to provide you with the appropriate
files (contact us at <a href="mailto:support@gap-system.org">support@gap-system.org</a>). The source can
be compiled with CodeWarrior Pro 5 with Apple's Universal Headers 3.3
installed.
<p>
Please contact the author
<a href="mailto:b.hoefling@tu-bs.de">b.hoefling@tu-bs.de</a>
or <a href="mailto:support@gap-system.org">support@gap-system.org</a> if you need further information.
<p>
<p>
[<a href="../index.htm">Top</a>] [<a href = "chapters.htm">Up</a>] [<a href ="CHAP072.htm">Previous</a>] [<a href ="CHAP074.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
<font face="Gill Sans,Helvetica,Arial">GAP 4 manual<br>December 2008
</font></body></html>